It's worth noting that ``n - 2`` is the highest number that can be safely encrypted or decrypted. ``n`` has the bit length specified with ``make_key_pair`` and is shared between the two keys ``e`` is used by the public key encrypt ``d`` is used by the private key to decrypt. The public key can be used to encrypt a message (in this module, a message is simply a positive integer number): > message = 5 > encrypted_message = public_key.encrypt(message) The encrypted information can be retrieved only with the private key: > private_key.decrypt(encrypted_message) 5 Private and public keys are made of three numeric parameters: ``n``, ``d`` and ``e``. The higher this number, the stronger the encryption. First, create a random key pair: > public_key, private_key = make_key_pair(8) The number 8 is the _key length_. This module is meant to show a simple and clear implementation of the RSA algorithm: (cryptosystem). '''Simple implementation of the RSA cryptosystem.