úÎPÑL     goodstable#Vincent Hanquez <vincent@snarc.org>None! AESOCB State  AESGCM State AES IV is always 16 bytes AES with 256 bit key AES with 192 bit key AES with 128 bit key  AES Context (pre-processed key) !convert a bytestring to an AESIV $Initialize a new context with a key \Key need to be of length 16, 24 or 32 bytes. any other values will cause undefined behavior )encrypt using Electronic Code Book (ECB) *encrypt using Cipher Block Chaining (CBC) Bgenerate a counter mode pad. this is generally xor-ed to an input 5 to make the standard counter mode block operations. Dif the length requested is not a multiple of the block cipher size, @ more data will be returned, so that the returned bytestring is & a multiple of the block cipher size. Bgenerate a counter mode pad. this is generally xor-ed to an input 5 to make the standard counter mode block operations. Dif the length requested is not a multiple of the block cipher size, @ more data will be returned, so that the returned bytestring is & a multiple of the block cipher size.  Similiar to  . but also return the next IV for continuation !encrypt using Counter mode (CTR) =in CTR mode encryption and decryption is the same operation. (encrypt using Galois counter mode (GCM) 8 return the encrypted bytestring and the tag associated >note: encrypted data is identical to CTR mode in GCM, however  a tag is also computed. encrypt using OCB v3 8 return the encrypted bytestring and the tag associated encrypt using XTS 1the first key is the normal block encryption key 4 the second key is used for the initial block tweak )decrypt using Electronic Code Book (ECB) *decrypt using Cipher block chaining (CBC) "decrypt using Counter mode (CTR). =in CTR mode encryption and decryption is the same operation. decrypt using XTS (decrypt using Galois Counter Mode (GCM) )decrypt using Offset Codebook Mode (OCB) initialize a gcm context Gappend data which is going to just be authentified to the GCM context. Cneed to happen after initialization and before appending encryption/decryption data. 5append data to encrypt and append to the GCM context ;bytestring need to be multiple of AES block size, unless it'"s the last call to this function. M need to happen after AAD appending, or after initialization if no AAD data. 5append data to decrypt and append to the GCM context ;bytestring need to be multiple of AES block size, unless it'"s the last call to this function. M need to happen after AAD appending, or after initialization if no AAD data. "Generate the Tag from GCM context initialize an ocb context Gappend data which is going to just be authentified to the OCB context. Cneed to happen after initialization and before appending encryption/decryption data. 5append data to encrypt and append to the OCB context ;bytestring need to be multiple of AES block size, unless it'"s the last call to this function. M need to happen after AAD appending, or after initialization if no AAD data. 5append data to decrypt and append to the OCB context ;bytestring need to be multiple of AES block size, unless it'"s the last call to this function. M need to happen after AAD appending, or after initialization if no AAD data. !"Generate the Tag from OCB context \"#$%&'()*+,-./0123456789:;<=>?@ABCDEF  AES Context !Initial vector of AES block size  plaintext  ciphertext  Cipher Key. usually a 128 bit integer. length of bytes required.  AES Context Jinitial vector of AES block size (usually representing a 128 bit integer) plaintext input ciphertext output  AES Context IV initial vector of any size data to authenticate (AAD) data to encrypt ciphertext and tag  AES Context IV initial vector of any size data to authenticate (AAD) data to encrypt ciphertext and tag AES cipher and tweak context ;a 128 bits IV, typically a sector or a block offset in XTS Mnumber of rounds to skip, also seen a 16 byte offset in the sector or block. input to encrypt output encrypted  AES Context 7initial vector, usually representing a 128 bit integer ciphertext input plaintext output AES cipher and tweak context ;a 128 bits IV, typically a sector or a block offset in XTS Mnumber of rounds to skip, also seen a 16 byte offset in the sector or block. input to decrypt output decrypted Key IV initial vector of any size data to authenticate (AAD) data to decrypt plaintext and tag Key IV initial vector of any size data to authenticate (AAD) data to decrypt plaintext and tag GHIJK !LMNOPQRSTUVWXYZ[  U"#$%&'()*+,-./0123456789:;<=>?@ABCDEF GHIJK !LMNOPQRSTUVWXYZ[\      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWcipher-aes-0.2.9Crypto.Cipher.AESAESGCMAESIVAES256AES192AES128AESaesIV_initAESinitKey encryptECB encryptCBCgenCTR genCounter encryptCTR encryptGCM encryptOCB encryptXTS decryptECB decryptCBC decryptCTR decryptXTS decryptGCM decryptOCBAESOCBgcmInit gcmAppendAADgcmAppendEncryptgcmAppendDecrypt gcmFinishocbInit ocbAppendAADocbAppendEncryptocbAppendDecrypt ocbFinishc_aes_ocb_finishc_aes_ocb_decryptc_aes_ocb_encrypt c_aes_ocb_aadc_aes_ocb_initc_aes_gcm_finishc_aes_gcm_decryptc_aes_gcm_encrypt c_aes_gcm_aadc_aes_gcm_initc_aes_encrypt_ctrc_aes_gen_ctr_cont c_aes_gen_ctrc_aes_decrypt_xtsc_aes_encrypt_xtsc_aes_decrypt_cbcc_aes_encrypt_cbcc_aes_decrypt_ecbc_aes_encrypt_ecb c_aes_initsizeGCMsizeOCBkeyToPtrivToPtr ivCopyPtr withKeyAndIV withKey2AndIVwithGCMKeyAndCopySt withNewGCMStwithOCBKeyAndCopyStdoECBdoCBCdoXTSdoGCMdoOCB$fAEADModeImplAES256AESOCB$fAEADModeImplAES256AESGCM$fBlockCipherAES256$fAEADModeImplAES192AESOCB$fAEADModeImplAES192AESGCM$fBlockCipherAES192$fAEADModeImplAES128AESOCB$fAEADModeImplAES128AESGCM$fBlockCipherAES128$fAEADModeImplAESAESOCB$fAEADModeImplAESAESGCM$fBlockCipherAES$fCipherAES256$fCipherAES192$fCipherAES128 $fCipherAES