cryptolib – cryptographic ciphers¶
Classes¶
- class cryptolib.aes(key: bytes | bytearray | memoryview, mode: int, IV: bytes | bytearray | memoryview | None = None)¶
Create a new AES cipher object, suitable for encryption or decryption. After initialization, the cipher object can be used only for one direction — running
decrypt()afterencrypt()(or vice versa) is not supported.Parameters are:
key is an encryption/decryption key (bytes-like).
mode is:
1(orcryptolib.MODE_ECBif it exists) for Electronic Code Book (ECB).2(orcryptolib.MODE_CBCif it exists) for Cipher Block Chaining (CBC).6(orcryptolib.MODE_CTRif 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: bytes | bytearray | memoryview, out_buf: bytearray | memoryview | None = None) bytes¶
Encrypt in_buf. If no out_buf is given result is returned as a newly allocated
bytesobject. 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: bytes | bytearray | memoryview, out_buf: bytearray | memoryview | None = None) bytes¶
Like
encrypt(), but for decryption.