You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.2 KiB
95 lines
2.2 KiB
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
|