The RSA algorithm is a patented public key cryptosystem for both encryption and authentication based on exponentiation in modular arithmetic.