ն r d Z dgZddlmZmZmZmZmZmZm Z m Z edd Z G d de Z d ZdS ) z" Electronic Code Book (ECB) mode. EcbMode )load_pycryptodome_raw_libVoidPointercreate_string_bufferget_raw_bufferSmartPointerc_size_tc_uint8_ptris_writeable_bufferzCrypto.Cipher._raw_ecbak int ECB_start_operation(void *cipher, void **pResult); int ECB_encrypt(void *ecbState, const uint8_t *in, uint8_t *out, size_t data_len); int ECB_decrypt(void *ecbState, const uint8_t *in, uint8_t *out, size_t data_len); int ECB_stop_operation(void *state); c ( e Zd ZdZd ZddZddZdS )r a *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. .. _`NIST SP800-38A` : http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf :undocumented: __init__ c |j | _ t | _ t | | j }|rt d|z t | j t j | _ | dS )zCreate a new block cipher, configured in ECB mode. :Parameters: block_cipher : C pointer A smart pointer to the low-level block cipher instance. z)Error %d while instantiating the ECB modeN) block_sizer _stateraw_ecb_libECB_start_operationget address_of ValueErrorr ECB_stop_operationrelease)selfblock_cipherresults y/builddir/build/BUILD/imunify360-venv-2.6.2/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/Cipher/_mode_ecb.py__init__zEcbMode.__init__D s '1!mm001A1A1C1C151G1G1I1IK K 'H%&