| Reference | |
| ========= | |
| This is the class and function reference. For more usage information | |
| see the :ref:`usage` page. | |
| Functions | |
| --------- | |
| .. autofunction:: rsa.encrypt | |
| .. autofunction:: rsa.decrypt | |
| .. autofunction:: rsa.sign | |
| .. autofunction:: rsa.verify | |
| .. autofunction:: rsa.find_signature_hash | |
| .. autofunction:: rsa.newkeys(keysize) | |
| Classes | |
| ------- | |
| .. note:: | |
| Storing public and private keys via the `pickle` module is possible. | |
| However, it is insecure to load a key from an untrusted source. | |
| The pickle module is not secure against erroneous or maliciously | |
| constructed data. Never unpickle data received from an untrusted | |
| or unauthenticated source. | |
| .. autoclass:: rsa.PublicKey | |
| :members: | |
| :inherited-members: | |
| .. autoclass:: rsa.PrivateKey | |
| :members: | |
| :inherited-members: | |
| Exceptions | |
| ---------- | |
| .. autoclass:: rsa.pkcs1.CryptoError(Exception) | |
| .. autoclass:: rsa.pkcs1.DecryptionError(CryptoError) | |
| .. autoclass:: rsa.pkcs1.VerificationError(CryptoError) | |
| .. index:: VARBLOCK (file format) | |
| The VARBLOCK file format | |
| ++++++++++++++++++++++++ | |
| .. warning:: | |
| The VARBLOCK format is NOT recommended for general use, has been deprecated since | |
| Python-RSA 3.4, and was removed in version 4.0. It's vulnerable to a | |
| number of attacks. See :ref:`bigfiles` for more information. | |
| The VARBLOCK file format allows us to encrypt files that are larger | |
| than the RSA key. The format is as follows; || denotes byte string | |
| concatenation:: | |
| VARBLOCK := VERSION || BLOCK || BLOCK || ... | |
| VERSION := 1 | |
| BLOCK := LENGTH || DATA | |
| LENGTH := varint-encoded length of the following data, in bytes | |
| DATA := the data to store in the block | |
| The varint-format was taken from Google's Protobuf_, and allows us to | |
| efficiently encode an arbitrarily long integer. | |
| .. _Protobuf: | |
| https://code.google.com/apis/protocolbuffers/docs/encoding.html#varints | |
| Module: rsa.core | |
| ---------------- | |
| At the core of the RSA encryption method lie these functions. They | |
| both operate on (arbitrarily long) integers only. They probably aren't | |
| of much use to you, but I wanted to document them anyway as they are | |
| the core of the entire library. | |
| .. autofunction:: rsa.core.encrypt_int | |
| .. autofunction:: rsa.core.decrypt_int |