RosettaCodeData/Task/RSA-code/PARI-GP/rsa-code-1.parigp

13 lines
434 B
Plaintext

stigid(V,b)=subst(Pol(V),'x,b); \\ inverse function digits(...)
n = 9516311845790656153499716760847001433441357;
e = 65537;
d = 5617843187844953170308463622230283376298685;
text = "Rosetta Code"
inttext = stigid(Vecsmall(text),256) \\ message as an integer
encoded = lift(Mod(inttext, n) ^ e) \\ encrypted message
decoded = lift(Mod(encoded, n) ^ d) \\ decrypted message
message = Strchr(digits(decoded, 256)) \\ readable message