Package Cryptodome :: Package Cipher :: Module _mode_ecb :: Class EcbMode

Class EcbMode

object --+
         |
        EcbMode

Electronic Code Book (ECB).

This is the simplest encryption mode. Each of the plaintext blocks is directly encrypted into a ciphertext block, independently of any other block.

This mode is dangerous because it exposes frequency of symbols in your plaintext. Other modes (e.g. CBC) should be used instead.

See NIST SP800-38A , Section 6.1.

Instance Methods
 
encrypt(self, plaintext)
Encrypt data with the key set at initialization.
 
decrypt(self, ciphertext)
Decrypt data with the key set at initialization.

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __init__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties

Inherited from object: __class__

Method Details

encrypt(self, plaintext)

 

Encrypt data with the key set at initialization.

The data to encrypt can be broken up in two or more pieces and encrypt can be called multiple times.

That is, the statement:

>>> c.encrypt(a) + c.encrypt(b)

is equivalent to:

>>> c.encrypt(a+b)

This function does not add any padding to the plaintext.

Parameters:
  • plaintext (byte string) - The piece of data to encrypt. The length must be multiple of the cipher block length.
Returns:
the encrypted data, as a byte string. It is as long as plaintext.

decrypt(self, ciphertext)

 

Decrypt data with the key set at initialization.

The data to decrypt can be broken up in two or more pieces and decrypt can be called multiple times.

That is, the statement:

>>> c.decrypt(a) + c.decrypt(b)

is equivalent to:

>>> c.decrypt(a+b)

This function does not remove any padding from the plaintext.

Parameters:
  • ciphertext (byte string) - The piece of data to decrypt. The length must be multiple of the cipher block length.
Returns:
the decrypted data (byte string). It is as long as ciphertext.