c737cde947
Anywhere a module is mentioned, use its "non-u" name for consistency. The "import module" vs "import umodule" is something of a FAQ, and this commit intends to help clear that up. As a first approximation MicroPython is Python, and so imports should work the same as Python and use the same name, to a first approximation. The u-version of a module is a detail that can be learned later on, when the user wants to understand more and have finer control over importing. Existing Python code should just work, as much as it is possible to do that within the constraints of embedded systems, and the MicroPython documentation should match the idiomatic way to write Python code. With universal weak links for modules (via MICROPY_MODULE_WEAK_LINKS) users can consistently use "import foo" across all ports (with the exception of the minimal ports). And the ability to override/extend via "foo.py" continues to work well. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
41 lines
1.4 KiB
ReStructuredText
41 lines
1.4 KiB
ReStructuredText
:mod:`cryptolib` -- cryptographic ciphers
|
|
=========================================
|
|
|
|
.. module:: cryptolib
|
|
:synopsis: cryptographic ciphers
|
|
|
|
Classes
|
|
-------
|
|
|
|
.. class:: aes
|
|
|
|
.. classmethod:: __init__(key, mode, [IV])
|
|
|
|
Initialize cipher object, suitable for encryption/decryption. Note:
|
|
after initialization, cipher object can be use only either for
|
|
encryption or decryption. Running decrypt() operation after encrypt()
|
|
or vice versa is not supported.
|
|
|
|
Parameters are:
|
|
|
|
* *key* is an encryption/decryption key (bytes-like).
|
|
* *mode* is:
|
|
|
|
* ``1`` (or ``cryptolib.MODE_ECB`` if it exists) for Electronic Code Book (ECB).
|
|
* ``2`` (or ``cryptolib.MODE_CBC`` if it exists) for Cipher Block Chaining (CBC).
|
|
* ``6`` (or ``cryptolib.MODE_CTR`` if it exists) for Counter mode (CTR).
|
|
|
|
* *IV* is an initialization vector for CBC mode.
|
|
* For Counter mode, *IV* is the initial value for the counter.
|
|
|
|
.. method:: encrypt(in_buf, [out_buf])
|
|
|
|
Encrypt *in_buf*. If no *out_buf* is given result is returned as a
|
|
newly allocated `bytes` object. Otherwise, result is written into
|
|
mutable buffer *out_buf*. *in_buf* and *out_buf* can also refer
|
|
to the same mutable buffer, in which case data is encrypted in-place.
|
|
|
|
.. method:: decrypt(in_buf, [out_buf])
|
|
|
|
Like `encrypt()`, but for decryption.
|