openssh_key.cipher.confidentiality.AESCipher

class openssh_key.cipher.confidentiality.AESCipher

Bases: openssh_key.cipher.confidentiality.ConfidentialityOnlyCipher, abc.ABC

The Advanced Encryption Standard (the Rijndael block cipher), under a mode of operation that offers only confidentiality.

__init__()

Methods

ALGORITHM()

MODE()

rtype

Mode

__init__()

decrypt(kdf, passphrase, cipher_bytes)

Decrypts the given ciphertext bytes using the given options of a key derivation function and the given passphrase to derive the encryption key.

decrypt_with_key_iv(cipher_bytes, ...)

Decrypts the given ciphertext bytes using the given cipher key and initialization vector.

encrypt(kdf, passphrase, plain_bytes)

Encrypts the given plaintext bytes using the given options of a key derivation function and the given passphrase to derive the encryption key.

encrypt_with_key_iv(plain_bytes, cipher_key, ...)

Encrypts the given plaintext bytes using the given cipher key and initialization vector.

get_algorithm()

The AES encryption algorithm.

get_block_size()

The value 16, the cipher block size of AES.

get_iv_length()

The initialization vector length for this cipher in bytes.

get_key_length()

The key length for this cipher in bytes.

get_mode()

The mode of operation of this cipher.

Attributes

BLOCK_SIZE

The block size for this cipher.

IV_LENGTH

The initialization vector length for this cipher in bytes.

KEY_LENGTH

The key length for this cipher in bytes.

classmethod decrypt(kdf, passphrase, cipher_bytes)

Decrypts the given ciphertext bytes using the given options of a key derivation function and the given passphrase to derive the encryption key.

Parameters
  • kdf (KDFOptions) – The options of a key derivation function.

  • passphrase (str) – The passphrase from which the cipher key is derived.

  • cipher_bytes (bytes) – Ciphertext bytes to be decrypted.

Return type

bytes

Returns

Plaintext bytes.

classmethod decrypt_with_key_iv(cipher_bytes, cipher_key, initialization_vector)

Decrypts the given ciphertext bytes using the given cipher key and initialization vector.

Parameters
  • cipher_bytes (bytes) – Ciphertext bytes to be encrypted.

  • cipher_key (bytes) – The cipher key.

  • initialization_vector (bytes) – The initialization vector. For some ciphers, this need only be a nonce.

Return type

bytes

Returns

Plaintext bytes.

classmethod encrypt(kdf, passphrase, plain_bytes)

Encrypts the given plaintext bytes using the given options of a key derivation function and the given passphrase to derive the encryption key.

Parameters
  • kdf (KDFOptions) – The options of a key derivation function.

  • passphrase (str) – The passphrase from which the cipher key is derived.

  • plain_bytes (bytes) – Plaintext bytes to be encrypted.

Return type

bytes

Returns

Ciphertext bytes.

classmethod encrypt_with_key_iv(plain_bytes, cipher_key, initialization_vector)

Encrypts the given plaintext bytes using the given cipher key and initialization vector.

Parameters
  • plain_bytes (bytes) – Plaintext bytes to be encrypted.

  • cipher_key (bytes) – The cipher key.

  • initialization_vector (bytes) – The initialization vector. For some ciphers, this need only be a nonce.

Return type

bytes

Returns

Ciphertext bytes.

classmethod get_algorithm()

The AES encryption algorithm.

Return type

Callable[[bytes], CipherAlgorithm]

classmethod get_block_size()

The value 16, the cipher block size of AES.

Return type

int

abstract classmethod get_iv_length()

The initialization vector length for this cipher in bytes. Defaults to the block size.

Return type

int

abstract classmethod get_key_length()

The key length for this cipher in bytes.

Return type

int

abstract classmethod get_mode()

The mode of operation of this cipher.

Return type

Callable[[bytes], Mode]