API Documentation

package

cryptocfb

A Python module to encrypt and decrypt data with AES-128 CFB mode.

  • Author: Quan Lin
  • License: MIT
Classes
  • CryptoCFB A class to encrypt and decrypt data with AES-128 CFB mode.
class

cryptocfb.CryptoCFB(key, iv, bits=128)

A class to encrypt and decrypt data with AES-128 CFB mode.

Parameters
  • key (bytes) The key for AES-128 CFB mode. It must be 16 bytes.
  • iv (bytes) The initialization vector for AES-128 CFB mode. It must be 16 bytes.
  • bits (int, optional) CFB mode, supported CFB modes : 8/64/128-bit CFB mode. (default is 128)
Attributes
  • crypt_inplace(buf, is_encrypt=True) Encrypt or decrypt buf inplace.
  • decrypt(cipher) Decrypt cipher data.
  • encrypt(plain) Encrypt plain data.
  • next_vector (bytes) The next vector for encryption or decryption.
  • reset_vector() Reset next_vector.

Notes

This class can encrypt or decrypt large data part by part. Except for the last part, every part must be multiple of (bits // 8) bytes. It can do encryption and decryption inplace to reduce memory footprint.

Methods
  • crypt_inplace(buf, is_encrypt) (bytearray) Encrypt or decrypt buf inplace.
  • decrypt(cipher) (bytearray) Decrypt cipher data.
  • encrypt(plain) (bytearray) Encrypt plain data.
  • reset_vector() Reset next_vector.
method
reset_vector()

Reset next_vector.

Reset next_vector before re-use.

method
crypt_inplace(buf, is_encrypt=True)

Encrypt or decrypt buf inplace.

Parameters
  • buf (bytearray) The buffer to encrypt or decrypt. It can be the whole data or a part of the data. If not the last part of the data, len(buf) must be multiple of (bits // 8).
  • is_encrypt (bool, optional) True for encryption or False for decryption. (default is True)
Returns (bytearray)

The original buffer.

method
encrypt(plain)

Encrypt plain data.

Parameters
  • plain (bytes or bytearray) The plain data to encrypt.
Returns (bytearray)

The encrypted data.

method
decrypt(cipher)

Decrypt cipher data.

Parameters
  • cipher (bytes or bytearray) The cipher data to decrypt.
Returns (bytearray)

The decrypted data.