The RSA public key encryption algorithm