RSA cryptography

Widely used in practice, the idea is to encode messages using a public key specified by a number n, but to make it so that to decode the messages requires a private key based on the factors of n. An element m in a message is encoded as c = PowerMod[m, d, n]. It can then be decoded as PowerMod[c, e, n], where e = PowerMod[d, -1, EulerPhi[n]]. But to find EulerPhi[n] (see page 1093) is equivalent in difficulty to finding the factors of n.