ƺhNddlZddlmZddlmZddlmZddlmZm Z ddl m Z m Z m Z ddlmZdZGd d ejZGd d eZGd dejZGddeZdZdZeD]ZefdZeedezeeD]ZefdZeedeze[[dZeD]ZefdZeedezeGddejZifdZedkrdZej ddSdS) N) unhexlify)load_test_vectors)list_test_cases)tobytes is_string)AESDES3DES)SHAKE128cltjt||S)N)data)r newrread)taglengths /builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/SelfTest/Cipher/test_CBC.pyget_tag_randomr)s)  F]$-DK@@@ ^^B  $-DK@@@ )V^Rv NNN$-DK@@@ )V^Rv NNN"6A:..$-DK@@@ *fnbPPP$-DK@@@ *fnbPPPPPrN)__name__ __module__ __qualname__rrrrrrr,r/r8r>rArFrKrMrTrVr[r`rcrergrwr}rrrrrrrr,snY++GnY++G ^Hb ) )F N7A & &E~j"--H""""""<<<&444::: ...<<<===OOOOOO555NNN*** :::JJJ%%%B%%%B$$$$$$$& % % %QQQQQrrc*eZdZejZejZdS)CbcTestsN)rrrrMODE_CBCr"r r.rrrrr4s|H IIIrrc eZdZdZdZdZdS)NistBlockChainingVectorsctd|dddi}|dSd}|D]}t|r|}|j|_t j|j|j|j}|dkr4| | |j |j |dkr4| | |j |j JdS)NCipherrz AES CBC KATcountc t|SrHintxs rz;NistBlockChainingVectors._do_kat_aes_test..@ #a&&r [ENCRYPT] [DECRYPT])rrdesc descriptionrrkeyr"r2r%r#r ciphertextr$)r' file_name test_vectors directiontvr(s r_do_kat_aes_testz)NistBlockChainingVectors._do_kat_aes_test;s():%)%(8(8:==    F   B}}  !wD WRVT]BE::FK''   !=!=r}MMMMk))   !>!> MMMMu  rctd|dddi}|dSd}|D]?}t|r|}|j|_t j|j|j|j}|dkrv|jg}tdD]<}| | |j |d|_ =| |d|j|d krw|jg}tdD]<}| ||j|d|_=| |d|j ?JdS) NrzAES CBC Montecarlorc t|SrHrrs rrz;NistBlockChainingVectors._do_mct_aes_test..\rrrir)rrrrrrrr"r2rQappendr#r r%rr$) r'rrrrr(ctsrptss r_do_mct_aes_testz)NistBlockChainingVectors._do_mct_aes_testWs{():%0%(8(8:==    F   B}}  !wD WRVT]BE::FK''i"4[[++EJJv~~bl;;<<<#&r7BLL  R"-8888k))h"4[[,,EJJv~~bm<<===$'GBMM  R",7777u/  rctd|dddi}|dSd}|D]#}t|r|}|j|_t |dr&t j|j|j|j }nW|j |j kr|j |j z|j z}n|j |j z}tj||j|j }|dkr4|||j|j|dkr5|||j|j#JdS)N)rTDESz TDES CBC KATrc t|SrHrrs rrz8NistBlockChainingVectors._do_tdes_test..rrkeysrr)rrrrhasattrr rrdes_moder2key1key3key2r r.r%r#r rr$)r'rrrrr(rs r _do_tdes_testz&NistBlockChainingVectors._do_tdes_testzsX();%*%(8(8:==    F   B}}  !wD r6"" >$-??7bg%%'BG+bg5CC'BG+C#t~ru==K''   !=!=r}MMMMk))   !>!> MMMMu-  rN)rrrrrrrrrrr9sB8!!!F     rrc8eZdZejZejZejZ dS)NistCbcVectorsN) rrrrrr"r rr r.rrrrrs#|H|H IIIrr)zCBCGFSbox128.rspzCBCGFSbox192.rspzCBCGFSbox256.rspzCBCKeySbox128.rspzCBCKeySbox192.rspzCBCKeySbox256.rspzCBCVarKey128.rspzCBCVarKey192.rspzCBCVarKey256.rspzCBCVarTxt128.rspzCBCVarTxt192.rspzCBCVarTxt256.rspz CBCMMT128.rspz CBCMMT192.rspz CBCMMT256.rsp)z CBCMCT128.rspz CBCMCT192.rspz CBCMCT256.rspc0||dSrH)rr'rs rnew_funcr i(((((r test_AES_c0||dSrH)rrs rrrrr)z TCBCMMT2.rspz TCBCMMT3.rspzTCBCinvperm.rspzTCBCpermop.rspzTCBCsubtab.rspzTCBCvarkey.rspzTCBCvartext.rspc0||dSrH)rrs rrrs 9%%%%%r test_TDES_c$eZdZdZdZdZdZdS)SP800TestVectorszPClass exercising the CBC test vectors found in Section F.2 of NIST SP 800-3Acd}d}d}d}t|}t|}t|}t|}tj|tj|}||||tj|tj|}||||dS)N 2b7e151628aed2a6abf7158809cf4f3c 000102030405060708090a0b0c0d0e0fڀ6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710ڀ7649abac8119b246cee98e9b12e9197d5086cb9b507219ee95db113a917678b273bed6b8e3c1743b7116e69e222295163ff1caa1681fac09120eca307586e1a7rrrrr%r#r$r'rr2r rr(s r test_aes_128zSP800TestVectors.test_aes_128s::; ; nn r]]i(( z** clB//  22J???clB//  33Y?????rcd}d}d}d}t|}t|}t|}t|}tj|tj|}||||tj|tj|}||||dS)N08e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7brrڀ4f021db243bc633d7178183a9fa071e8b4d9ada9ad7dedf4e5e738763f69145a571b242012fb7ae07fa9baac3df102e008b0e27988598881d920a9e64f5615cdrrs r test_aes_192zSP800TestVectors.test_aes_192sJ:; ; nn r]]i(( z** clB//  22J???clB//  33Y?????rcd}d}d}d}t|}t|}t|}t|}tj|tj|}||||tj|tj|}||||dS)N@603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4rrڀf58c4c04d6e5f1ba779eabfb5f7bfbd69cfc4e967edb808d679f777bc6702c7d39f23369a9d9bacfa530e26304231461b2eb05e2c39be9fcda6c19078c6a9d1brrs r test_aes_256zSP800TestVectors.test_aes_256 sZ:; ; nn r]]i(( z** clB//  22J???clB//  33Y?????rN)rrr__doc__rrrrrrrrsV@@@,@@@,@@@@@rrcg}|ttz }|dr|ttz }|ttz }|S)N slow_tests)rrgetrr)configtestss r get_testsr!sW E _X & &&E zz,1 000 _- . ..E Lr__main__cBtjtSrH)unittest TestSuiterrrrrr+sH&y{{33rsuite) defaultTest)!rbinasciirCrypto.SelfTest.loaderrCrypto.SelfTest.st_commonrCrypto.Util.py3compatrr Crypto.Cipherrr r Crypto.Hashr rTestCaserrrrnist_aes_kat_mmt_filesnist_aes_mct_filesrrsetattrnist_tdes_filesrrrrmainrrrrs>44444455555544444444(((((((((( 888EQEQEQEQEQ*EQEQEQP! aaaaax0aaaH-& (??I!*)))) GNK)3X>>>>#??I!*)))) GNK)3X>>>> x!@@I!*&&&& GNL94h???? D@D@D@D@D@x(D@D@D@N z 3 3EHMg&&&&&&r