ƺh$ddlZddlmZddlmZddlmZddlmZm Z m Z ddl m Z ddl mZdZdd lmZGd d eZdd lmZGd deZdZdZeD]ZefdZeedezeeD]ZefdZeedeze[[dZeD]ZefdZeedezeGddejZifdZedkrdZej ddSdS)N) unhexlify)list_test_cases)tobytes)AESDES3DES)SHAKE128)load_test_vectors_wycheproofcltjt||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_OFB.pyget_tag_randomr(s) z4OfbTests.test_unaligned_data_128..8%???aq))???rrc:g|]}|Srrr!s rr%z4OfbTests.test_unaligned_data_128..=r&r)rr key_128MODE_CFBiv_128 assertEqualjoinr self plaintexts ciphertextsr$s @rtest_unaligned_data_128z OfbTests.test_unaligned_data_1284s3!^c) s|T[qQQQ????:??? s|T[qQQQ +..sxx ?S?S0T0TUUUs|T[sSSS????:??? s|T[sSSS +..sxx ?S?S0T0TUUUUUrcdgdz}tj|jtj|jdfd|D}tj|jtj|jd|d|d|tj|jtj|jdfd|D}tj|jtj|jd|d|d|dS) Nrrrrc:g|]}|Srrr!s rr%z3OfbTests.test_unaligned_data_64..Dr&rr@c:g|]}|Srrr!s rr%z3OfbTests.test_unaligned_data_64..Ir&r)rr key_192r*iv_64r,r-r r.s @rtest_unaligned_data_64zOfbTests.test_unaligned_data_64As7!^c) $, tzPQRRR????:??? $, tzPQRRR +..sxx ?S?S0T0TUUU$, tzPRSSS????:??? $, tzPRSSS +..sxx ?S?S0T0TUUUUUrN) __name__ __module__ __qualname__rMODE_OFBaes_moder des3_moder2r9rrrrr-sH|H I V V V V V V V Vrr)NistBlockChainingVectorsc8eZdZejZejZejZ dS)NistOfbVectorsN) r:r;r<rr=r>rdes_moderr?rrrrBrBPs#|H|H IIIrrB)zOFBGFSbox128.rspzOFBGFSbox192.rspzOFBGFSbox256.rspzOFBKeySbox128.rspzOFBKeySbox192.rspzOFBKeySbox256.rspzOFBVarKey128.rspzOFBVarKey192.rspzOFBVarKey256.rspzOFBVarTxt128.rspzOFBVarTxt192.rspzOFBVarTxt256.rspz OFBMMT128.rspz OFBMMT192.rspz OFBMMT256.rsp)z OFBMCT128.rspz OFBMCT192.rspz OFBMCT256.rspc0||dSN)_do_kat_aes_testr/ file_names rnew_funcrIq i(((((r test_AES_c0||dSrE)_do_mct_aes_testrGs rrIrIvrJr)z TOFBMMT2.rspz TOFBMMT3.rspzTOFBinvperm.rspzTOFBpermop.rspzTOFBsubtab.rspzTOFBvarkey.rspzTOFBvartext.rspc0||dSrE) _do_tdes_testrGs rrIrIs 9%%%%%r test_TDES_c$eZdZdZdZdZdZdS)SP800TestVectorszPClass exercising the OFB test vectors found in Section F.4 of NIST SP 800-3Acd}d}d}d}t|}t|}t|}t|}tj|tj|}||||tj|tj|}||||tj|tj|}|||dd|ddtj|tj|}|||dd|dddS)Nڀ6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710ڀ3b3fd92eb72dad20333449f8e83cfb4a7789508d16918f03f53c52dac54ed8259740051e9c5fecf64344f7a82260edcc304c6528f659c77866a510d9c1d6ae5e 2b7e151628aed2a6abf7158809cf4f3c 000102030405060708090a0b0c0d0e0frrr r=r,r decryptr/ plaintext ciphertextkeyivr$s r test_aes_128zSP800TestVectors.test_aes_128sN; ; ;:nn r]]i(( z** clB//  22J???clB//  33Y???clB//  #2#77CRCIIIclB//  3B388)CRC.IIIIIrcd}d}d}d}t|}t|}t|}t|}tj|tj|}||||tj|tj|}||||tj|tj|}|||dd|ddtj|tj|}|||dd|dddS)NrTڀcdc80d6fddf18cab34c25909c99a4174fcc28b8d4c63837c09e81700c11004018d9a9aeac0f6596f559c6d4daf59a5f26d9f200857ca6c3e9cac524bd9acc92a08e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7brWrXrYr[s r test_aes_192zSP800TestVectors.test_aes_192sO; ; K:nn r]]i(( z** clB//  22J???clB//  33Y???clB//  #2#77CRCIIIclB//  3B388)CRC.IIIIIrcd}d}d}d}t|}t|}t|}t|}tj|tj|}||||tj|tj|}||||tj|tj|}|||dd|ddtj|tj|}|||dd|dddS)NrTڀdc7e84bfda79164b7ecd8486985d38604febdc6740d20b3ac88f6ad82a4fb08d71ab47a086e86eedf39d1c5bba97c4080126141d67f37be8538f5a8be740e484@603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4rWrXrYr[s r test_aes_256zSP800TestVectors.test_aes_256sO; ; [:nn r]]i(( z** clB//  22J???clB//  33Y???clB//  #2#77CRCIIIclB//  3B388)CRC.IIIIIrN)r:r;r<__doc__r`rdrhrrrrRrRsVJJJ6JJJ6JJJJJrrRcg}|ttz }|dr|ttz }|ttz }|S)N slow_tests)rrgetrBrR)configtestss r get_testsrosW E _X & &&E zz,1 000 _- . ..E Lr__main__cBtjtSrE)unittest TestSuiterorrrrtsH&y{{33rsuite) defaultTest)!rrbinasciirCrypto.SelfTest.st_commonrCrypto.Util.py3compatr Crypto.Cipherrrr Crypto.Hashr Crypto.SelfTest.loaderr rCrypto.SelfTest.Cipher.test_CBCrrr@rBnist_aes_kat_mmt_filesnist_aes_mct_filesrHrIsetattrnist_tdes_filesTestCaserRror:rumainrrrrs>555555))))))(((((((((( ??????888?>>>>>VVVVV!VVVBEDDDDD-& (??I!*)))) GNK)3X>>>>#??I!*)))) GNK)3X>>>> x!@@I!*&&&& GNL94h???? SJSJSJSJSJx(SJSJSJl z 3 3EHMg&&&&&&r