B c<@s|dZdZddlmZddlTddlmZdZdZd d d d d edddfddddedddfddedfddedfddedfdd ed!fd"d#ed$fd%d&ed'fd(d)ed*fd+d,ed-fd.d/ed0fd1d2ed3fd4d5ed6fd7d8ed9fd:d;eded?fd@dAedBfdCdDedEfdFdGedHfdIdJedKfdLdMedNfdOdPedQfdRdSedTfdUdVedWfdXdYedZfd[d\ed]fd^d_ed`fdadbedcfdddeedffdgdhedifdjdkedlfdmdnedofdpdqedrfdsdtedufdvdwedxfdydzed{fd|d}ed~fddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfedddfedddfedddfedddfedddfedddfedddfedddfedddfedddfedddfedddfedddfedddfedddfedddfedddfed d d fed d dfedddfedddfedddfedddfedddfeddd fed!d"d#fed$d%d&fed'd(d)fed*d+d,fed-d.d/fed0d1d2fed3d4d5fed6d7d8fed9d:d;fed<d=d>fed?d@dAfedBdCdDfedEdFdGfedHdIdJfedKdLdMfedNdOdPfedQdRdSfedTdUdVfedWdXdYfedZd[d\fed]d^d_fed`dadbfedcdddefedfdgdhfedidjdkfedldmdnfedodpdqfedrdsdtfedudvdwfedxdydzfed{d|d}fd~ddddeddddfg}Z ifddZ e dkrvddl Z ddZ e jdddS(z&Self-test suite for Crypto.Cipher.DES3z$Id$)dict)*)hexlifyZ0010101010101010101010101010101010101010101010101Z0000000000000000)Z054686520717566636b2062726f776e20666f78206a756d70Z0a826fd8ce53b855fcce21c8112256fe668d5c05dd9b6b900Z00123456789abcdef23456789abcdef01456789abcdef0123zNIST SP800-67 B.1Z326a494cd33fe756Zb22b8d66de970692Z0627f460e08104a1043cd265d5840eaf1313edf97df2a8a8cz DESMMT #1ZCBCZ8e29f75ea77e5475)modeivZ 84401f78fe6c10876d8ea23094ea5309Z 7b1f7c7e3b1c948ebd04a75ffba7d2f5Z037ae5ebf46dff2dc0754b94f31cbb3855e7fd36dc870bfaez DESMMT #2Z3d1de3cc132e3b65Z8000000000000000Z95f8a5e5dd31d900zNIST SP800-20 A.1 #0Z4000000000000000Zdd7f121ca5015619zNIST SP800-20 A.1 #1Z2000000000000000Z2e8653104f3834eazNIST SP800-20 A.1 #2Z1000000000000000Z4bd388ff6cd81d4fzNIST SP800-20 A.1 #3Z0800000000000000Z20b9e767b2fb1456zNIST SP800-20 A.1 #4Z0400000000000000Z55579380d77138efzNIST SP800-20 A.1 #5Z0200000000000000Z6cc5defaaf04512fzNIST SP800-20 A.1 #6Z0100000000000000Z0d9f279ba5d87260zNIST SP800-20 A.1 #7Z0080000000000000Zd9031b0271bd5a0azNIST SP800-20 A.1 #8Z0040000000000000Z424250b37c3dd951zNIST SP800-20 A.1 #9Z0020000000000000Zb8061b7ecd9a21e5zNIST SP800-20 A.1 #10Z0010000000000000Zf15d0f286b65bd28zNIST SP800-20 A.1 #11Z0008000000000000Zadd0cc8d6e5deba1zNIST SP800-20 A.1 #12Z0004000000000000Ze6d5f82752ad63d1zNIST SP800-20 A.1 #13Z0002000000000000Zecbfe3bd3f591a5ezNIST SP800-20 A.1 #14Z0001000000000000Zf356834379d165cdzNIST SP800-20 A.1 #15Z0000800000000000Z2b9f982f20037fa9zNIST SP800-20 A.1 #16Z0000400000000000Z889de068a16f0be6zNIST SP800-20 A.1 #17Z0000200000000000Ze19e275d846a1298zNIST SP800-20 A.1 #18Z0000100000000000Z329a8ed523d71aeczNIST SP800-20 A.1 #19Z0000080000000000Ze7fce22557d23c97zNIST SP800-20 A.1 #20Z0000040000000000Z12a9f5817ff2d65dzNIST SP800-20 A.1 #21Z0000020000000000Za484c3ad38dc9c19zNIST SP800-20 A.1 #22Z0000010000000000Zfbe00a8a1ef8ad72zNIST SP800-20 A.1 #23Z0000008000000000Z750d079407521363zNIST SP800-20 A.1 #24Z0000004000000000Z64feed9c724c2fafzNIST SP800-20 A.1 #25Z0000002000000000Zf02b263b328e2b60zNIST SP800-20 A.1 #26Z0000001000000000Z9d64555a9a10b852zNIST SP800-20 A.1 #27Z0000000800000000Zd106ff0bed5255d7zNIST SP800-20 A.1 #28Z0000000400000000Ze1652c6b138c64a5zNIST SP800-20 A.1 #29Z0000000200000000Ze428581186ec8f46zNIST SP800-20 A.1 #30Z0000000100000000Zaeb5f5ede22d1a36zNIST SP800-20 A.1 #31Z0000000080000000Ze943d7568aec0c5czNIST SP800-20 A.1 #32Z0000000040000000Zdf98c8276f54b04bzNIST SP800-20 A.1 #33Z0000000020000000Zb160e4680f6c696fzNIST SP800-20 A.1 #34Z0000000010000000Zfa0752b07d9c4ab8zNIST SP800-20 A.1 #35Z0000000008000000Zca3a2b036dbc8502zNIST SP800-20 A.1 #36Z0000000004000000Z5e0905517bb59bcfzNIST SP800-20 A.1 #37Z0000000002000000Z814eeb3b91d90726zNIST SP800-20 A.1 #38Z0000000001000000Z4d49db1532919c9fzNIST SP800-20 A.1 #39Z0000000000800000Z25eb5fc3f8cf0621zNIST SP800-20 A.1 #40Z0000000000400000Zab6a20c0620d1c6fzNIST SP800-20 A.1 #41Z0000000000200000Z79e90dbc98f92ccazNIST SP800-20 A.1 #42Z0000000000100000Z866ecedd8072bb0ezNIST SP800-20 A.1 #43Z0000000000080000Z8b54536f2f3e64a8zNIST SP800-20 A.1 #44Z0000000000040000Zea51d3975595b86bzNIST SP800-20 A.1 #45Z0000000000020000Zcaffc6ac4542de31zNIST SP800-20 A.1 #46Z0000000000010000Z8dd45a2ddf90796czNIST SP800-20 A.1 #47Z0000000000008000Z1029d55e880ec2d0zNIST SP800-20 A.1 #48Z0000000000004000Z5d86cb23639dbea9zNIST SP800-20 A.1 #49Z0000000000002000Z1d1ca853ae7c0c5fzNIST SP800-20 A.1 #50Z0000000000001000Zce332329248f3228zNIST SP800-20 A.1 #51Z0000000000000800Z8405d1abe24fb942zNIST SP800-20 A.1 #52Z0000000000000400Ze643d78090ca4207zNIST SP800-20 A.1 #53Z0000000000000200Z48221b9937748a23zNIST SP800-20 A.1 #54Z0000000000000100Zdd7c0bbd61fafd54zNIST SP800-20 A.1 #55Z0000000000000080Z2fbc291a570db5c4zNIST SP800-20 A.1 #56Z0000000000000040Ze07c30d7e4e26e12zNIST SP800-20 A.1 #57Z0000000000000020Z0953e2258e8e90a1zNIST SP800-20 A.1 #58Z0000000000000010Z5b711bc4ceebf2eezNIST SP800-20 A.1 #59Z0000000000000008Zcc083f1e6d9e85f6zNIST SP800-20 A.1 #60Z0000000000000004Zd2fd8867d50d2dfezNIST SP800-20 A.1 #61Z0000000000000002Z06e7ea22ce92708fzNIST SP800-20 A.1 #62Z0000000000000001Z166b40b44aba4bd6zNIST SP800-20 A.1 #63Z95a8d72813daa94dZ0800101010101010180010101010101018001010101010101zNIST SP800-20 A.2 #0Z0eec1487dd8c26d5Z0400101010101010140010101010101014001010101010101zNIST SP800-20 A.2 #1Z7ad16ffb79c45926Z0200101010101010120010101010101012001010101010101zNIST SP800-20 A.2 #2Zd3746294ca6a6cf3Z0100101010101010110010101010101011001010101010101zNIST SP800-20 A.2 #3Z809f5f873c1fd761Z0080101010101010108010101010101010801010101010101zNIST SP800-20 A.2 #4Zc02faffec989d1fcZ0040101010101010104010101010101010401010101010101zNIST SP800-20 A.2 #5Z4615aa1d33e72f10Z0020101010101010102010101010101010201010101010101zNIST SP800-20 A.2 #6Z2055123350c00858Z0018001010101010101800101010101010180010101010101zNIST SP800-20 A.2 #7Zdf3b99d6577397c8Z0014001010101010101400101010101010140010101010101zNIST SP800-20 A.2 #8Z31fe17369b5288c9Z0012001010101010101200101010101010120010101010101zNIST SP800-20 A.2 #9Zdfdd3cc64dae1642Z0011001010101010101100101010101010110010101010101zNIST SP800-20 A.2 #10Z178c83ce2b399d94Z0010801010101010101080101010101010108010101010101zNIST SP800-20 A.2 #11Z50f636324a9b7f80Z0010401010101010101040101010101010104010101010101zNIST SP800-20 A.2 #12Za8468ee3bc18f06dZ0010201010101010101020101010101010102010101010101zNIST SP800-20 A.2 #13Za2dc9e92fd3cde92Z0010180010101010101018001010101010101800101010101zNIST SP800-20 A.2 #14Zcac09f797d031287Z0010140010101010101014001010101010101400101010101zNIST SP800-20 A.2 #15Z90ba680b22aeb525Z0010120010101010101012001010101010101200101010101zNIST SP800-20 A.2 #16Zce7a24f350e280b6Z0010110010101010101011001010101010101100101010101zNIST SP800-20 A.2 #17Z882bff0aa01a0b87Z0010108010101010101010801010101010101080101010101zNIST SP800-20 A.2 #18Z25610288924511c2Z0010104010101010101010401010101010101040101010101zNIST SP800-20 A.2 #19Zc71516c29c75d170Z0010102010101010101010201010101010101020101010101zNIST SP800-20 A.2 #20Z5199c29a52c9f059Z0010101800101010101010180010101010101018001010101zNIST SP800-20 A.2 #21Zc22f0a294a71f29fZ0010101400101010101010140010101010101014001010101zNIST SP800-20 A.2 #22Zee371483714c02eaZ0010101200101010101010120010101010101012001010101zNIST SP800-20 A.2 #23Za81fbd448f9e522fZ0010101100101010101010110010101010101011001010101zNIST SP800-20 A.2 #24Z4f644c92e192dfedZ0010101080101010101010108010101010101010801010101zNIST SP800-20 A.2 #25Z1afa9a66a6df92aeZ0010101040101010101010104010101010101010401010101zNIST SP800-20 A.2 #26Zb3c1cc715cb879d8Z0010101020101010101010102010101010101010201010101zNIST SP800-20 A.2 #27Z19d032e64ab0bd8bZ0010101018001010101010101800101010101010180010101zNIST SP800-20 A.2 #28Z3cfaa7a7dc8720dcZ0010101014001010101010101400101010101010140010101zNIST SP800-20 A.2 #29Zb7265f7f447ac6f3Z0010101012001010101010101200101010101010120010101zNIST SP800-20 A.2 #30Z9db73b3c0d163f54Z0010101011001010101010101100101010101010110010101zNIST SP800-20 A.2 #31Z8181b65babf4a975Z0010101010801010101010101080101010101010108010101zNIST SP800-20 A.2 #32Z93c9b64042eaa240Z0010101010401010101010101040101010101010104010101zNIST SP800-20 A.2 #33Z5570530829705592Z0010101010201010101010101020101010101010102010101zNIST SP800-20 A.2 #34Z8638809e878787a0Z0010101010180010101010101018001010101010101800101zNIST SP800-20 A.2 #35Z41b9a79af79ac208Z0010101010140010101010101014001010101010101400101zNIST SP800-20 A.2 #36Z7a9be42f2009a892Z0010101010120010101010101012001010101010101200101zNIST SP800-20 A.2 #37Z29038d56ba6d2745Z0010101010110010101010101011001010101010101100101zNIST SP800-20 A.2 #38Z5495c6abf1e5df51Z0010101010108010101010101010801010101010101080101zNIST SP800-20 A.2 #39Zae13dbd561488933Z0010101010104010101010101010401010101010101040101zNIST SP800-20 A.2 #40Z024d1ffa8904e389Z0010101010102010101010101010201010101010101020101zNIST SP800-20 A.2 #41Zd1399712f99bf02eZ0010101010101800101010101010180010101010101018001zNIST SP800-20 A.2 #42Z14c1d7c1cffec79eZ0010101010101400101010101010140010101010101014001zNIST SP800-20 A.2 #43Z1de5279dae3bed6fZ0010101010101200101010101010120010101010101012001zNIST SP800-20 A.2 #44Ze941a33f85501303Z0010101010101100101010101010110010101010101011001zNIST SP800-20 A.2 #45Zda99dbbc9a03f379Z0010101010101080101010101010108010101010101010801zNIST SP800-20 A.2 #46Zb7fc92f91d8e92e9Z0010101010101040101010101010104010101010101010401zNIST SP800-20 A.2 #47Zae8e5caa3ca04e85Z0010101010101020101010101010102010101010101010201zNIST SP800-20 A.2 #48Z9cc62df43b6eed74Z0010101010101018001010101010101800101010101010180zNIST SP800-20 A.2 #49Zd863dbb5c59a91a0Z0010101010101014001010101010101400101010101010140zNIST SP800-20 A.2 #50Za1ab2190545b91d7Z0010101010101012001010101010101200101010101010120zNIST SP800-20 A.2 #51Z0875041e64c570f7Z0010101010101011001010101010101100101010101010110zNIST SP800-20 A.2 #52Z5a594528bebef1ccZ0010101010101010801010101010101080101010101010108zNIST SP800-20 A.2 #53Zfcdb3291de21f0c0Z0010101010101010401010101010101040101010101010104zNIST SP800-20 A.2 #54Z869efd7f9f265a09Z0010101010101010201010101010101020101010101010102zNIST SP800-20 A.2 #55)Z21e81b7ade88a259Z5c577d4d9b20c0f8Z 9b397ebf81b1181e282f4bb8adbadc6bz Two-key 3DESZ2ac1762037074324fb53ba3596f73656d69746556616c6c6579Z29979238528357b90e2e0be549cb0b2d5999b9a4a447e5c5c7dZ07ade65b460f5ea9be35f9e14aa883a2048e3824aa616c0b2zGPG Test Vector #1ZOPENPGPZcd47e2afb8b7e4b0Z6a7eef0b58050e8b904a)rrZ encrypted_ivcCs$ddlm}ddlm}||dtS)Nr)DES3r)make_block_testsr)Z Crypto.Cipherrcommonr test_data)Zconfigrr r S/opt/alt/python37/lib64/python3.7/site-packages/Crypto/SelfTest/Cipher/test_DES3.py get_testsCs  r__main__NcCs ttS)N)unittestZ TestSuiterr r r r Jrsuite)Z defaultTest)__doc__Z __revision__r rZCrypto.Util.py3compatZbinasciirZSP800_20_A1_KEYZSP800_20_A2_PTr r__name__rrmainr r r r s