PythonExtra/docs/library/ucryptolib.rst
Yonatan Goldschmidt ef9843653b extmod/moducryptolib: Add AES-CTR support.
Selectable at compile time via MICROPY_PY_UCRYPTOLIB_CTR.  Disabled by
default.
2019-05-06 18:09:48 +10:00

1.4 KiB

ucryptolib -- cryptographic ciphers

ucryptolib

Classes

__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 ucryptolib.MODE_ECB if it exists) for Electronic Code Book (ECB).
    • 2 (or ucryptolib.MODE_CBC if it exists) for Cipher Block Chaining (CBC).
    • 6 (or ucryptolib.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.

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.

decrypt(in_buf, [out_buf])

Like encrypt(), but for decryption.