/Oc@sdZdZddlmZddlTddlmZddZdZdddddeddddfddddeddddfddedfdded fd!d"ed#fd$d%ed&fd'd(ed)fd*d+ed,fd-d.ed/fd0d1ed2fd3d4ed5fd6d7ed8fd9d:ed;fd<d=ed>fd?d@edAfdBdCedDfdEdFedGfdHdIedJfdKdLedMfdNdOedPfdQdRedSfdTdUedVfdWdXedYfdZd[ed\fd]d^ed_fd`daedbfdcddedefdfdgedhfdidjedkfdldmednfdodpedqfdrdsedtfdudvedwfdxdyedzfd{d|ed}fd~dedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfddedfeddddfeddddfeddddfeddddfeddddfeddddfeddddfeddddfeddddfeddddfeddddfeddddfeddddfeddddfeddddfed d dd fed d ddfeddddfeddddfeddddfeddddfeddddfedddd fed!d"dd#fed$d%dd&fed'd(dd)fed*d+dd,fed-d.dd/fed0d1dd2fed3d4dd5fed6d7dd8fed9d:dd;fed<d=dd>fed?d@ddAfedBdCddDfedEdFddGfedHdIddJfedKdLddMfedNdOddPfedQdRddSfedTdUddVfedWdXddYfedZd[dd\fed]d^dd_fed`daddbfedcddddefedfdgddhfedidjddkfedldmddnfedodpddqfedrdsddtfedudvddwfedxdyddzfed{d|dd}fed~dddfeddddfdddddeddddddfg}Z idZ e dkrddl Z dZ e jddndS(s&Self-test suite for Crypto.Cipher.DES3s$Id$i(tdict(t*(thexlifyt01it00it054686520717566636b2062726f776e20666f78206a756d70t0a826fd8ce53b855fcce21c8112256fe668d5c05dd9b6b900t00123456789abcdef23456789abcdef01456789abcdef0123sNIST SP800-67 B.1t326a494cd33fe756tb22b8d66de970692t0627f460e08104a1043cd265d5840eaf1313edf97df2a8a8cs DESMMT #1tmodetCBCtivt8e29f75ea77e5475t 84401f78fe6c10876d8ea23094ea5309t 7b1f7c7e3b1c948ebd04a75ffba7d2f5t037ae5ebf46dff2dc0754b94f31cbb3855e7fd36dc870bfaes DESMMT #2t3d1de3cc132e3b65t8000000000000000t95f8a5e5dd31d900sNIST SP800-20 A.1 #0t4000000000000000tdd7f121ca5015619sNIST SP800-20 A.1 #1t2000000000000000t2e8653104f3834easNIST SP800-20 A.1 #2t1000000000000000t4bd388ff6cd81d4fsNIST SP800-20 A.1 #3t0800000000000000t20b9e767b2fb1456sNIST SP800-20 A.1 #4t0400000000000000t55579380d77138efsNIST SP800-20 A.1 #5t0200000000000000t6cc5defaaf04512fsNIST SP800-20 A.1 #6t0100000000000000t0d9f279ba5d87260sNIST SP800-20 A.1 #7t0080000000000000td9031b0271bd5a0asNIST SP800-20 A.1 #8t0040000000000000t424250b37c3dd951sNIST SP800-20 A.1 #9t0020000000000000tb8061b7ecd9a21e5sNIST SP800-20 A.1 #10t0010000000000000tf15d0f286b65bd28sNIST SP800-20 A.1 #11t0008000000000000tadd0cc8d6e5deba1sNIST SP800-20 A.1 #12t0004000000000000te6d5f82752ad63d1sNIST SP800-20 A.1 #13t0002000000000000tecbfe3bd3f591a5esNIST SP800-20 A.1 #14t0001000000000000tf356834379d165cdsNIST SP800-20 A.1 #15t0000800000000000t2b9f982f20037fa9sNIST SP800-20 A.1 #16t0000400000000000t889de068a16f0be6sNIST SP800-20 A.1 #17t0000200000000000te19e275d846a1298sNIST SP800-20 A.1 #18t0000100000000000t329a8ed523d71aecsNIST SP800-20 A.1 #19t0000080000000000te7fce22557d23c97sNIST SP800-20 A.1 #20t0000040000000000t12a9f5817ff2d65dsNIST SP800-20 A.1 #21t0000020000000000ta484c3ad38dc9c19sNIST SP800-20 A.1 #22t0000010000000000tfbe00a8a1ef8ad72sNIST SP800-20 A.1 #23t0000008000000000t750d079407521363sNIST SP800-20 A.1 #24t0000004000000000t64feed9c724c2fafsNIST SP800-20 A.1 #25t0000002000000000tf02b263b328e2b60sNIST SP800-20 A.1 #26t0000001000000000t9d64555a9a10b852sNIST SP800-20 A.1 #27t0000000800000000td106ff0bed5255d7sNIST SP800-20 A.1 #28t0000000400000000te1652c6b138c64a5sNIST SP800-20 A.1 #29t0000000200000000te428581186ec8f46sNIST SP800-20 A.1 #30t0000000100000000taeb5f5ede22d1a36sNIST SP800-20 A.1 #31t0000000080000000te943d7568aec0c5csNIST SP800-20 A.1 #32t0000000040000000tdf98c8276f54b04bsNIST SP800-20 A.1 #33t0000000020000000tb160e4680f6c696fsNIST SP800-20 A.1 #34t0000000010000000tfa0752b07d9c4ab8sNIST SP800-20 A.1 #35t0000000008000000tca3a2b036dbc8502sNIST SP800-20 A.1 #36t0000000004000000t5e0905517bb59bcfsNIST SP800-20 A.1 #37t0000000002000000t814eeb3b91d90726sNIST SP800-20 A.1 #38t0000000001000000t4d49db1532919c9fsNIST SP800-20 A.1 #39t0000000000800000t25eb5fc3f8cf0621sNIST SP800-20 A.1 #40t0000000000400000tab6a20c0620d1c6fsNIST SP800-20 A.1 #41t0000000000200000t79e90dbc98f92ccasNIST SP800-20 A.1 #42t0000000000100000t866ecedd8072bb0esNIST SP800-20 A.1 #43t0000000000080000t8b54536f2f3e64a8sNIST SP800-20 A.1 #44t0000000000040000tea51d3975595b86bsNIST SP800-20 A.1 #45t0000000000020000tcaffc6ac4542de31sNIST SP800-20 A.1 #46t0000000000010000t8dd45a2ddf90796csNIST SP800-20 A.1 #47t0000000000008000t1029d55e880ec2d0sNIST SP800-20 A.1 #48t0000000000004000t5d86cb23639dbea9sNIST SP800-20 A.1 #49t0000000000002000t1d1ca853ae7c0c5fsNIST SP800-20 A.1 #50t0000000000001000tce332329248f3228sNIST SP800-20 A.1 #51t0000000000000800t8405d1abe24fb942sNIST SP800-20 A.1 #52t0000000000000400te643d78090ca4207sNIST SP800-20 A.1 #53t0000000000000200t48221b9937748a23sNIST SP800-20 A.1 #54t0000000000000100tdd7c0bbd61fafd54sNIST SP800-20 A.1 #55t0000000000000080t2fbc291a570db5c4sNIST SP800-20 A.1 #56t0000000000000040te07c30d7e4e26e12sNIST SP800-20 A.1 #57t0000000000000020t0953e2258e8e90a1sNIST SP800-20 A.1 #58t0000000000000010t5b711bc4ceebf2eesNIST SP800-20 A.1 #59t0000000000000008tcc083f1e6d9e85f6sNIST SP800-20 A.1 #60t0000000000000004td2fd8867d50d2dfesNIST SP800-20 A.1 #61t0000000000000002t06e7ea22ce92708fsNIST SP800-20 A.1 #62t0000000000000001t166b40b44aba4bd6sNIST SP800-20 A.1 #63t95a8d72813daa94dt8001010101010101isNIST SP800-20 A.2 #0t0eec1487dd8c26d5t4001010101010101sNIST SP800-20 A.2 #1t7ad16ffb79c45926t2001010101010101sNIST SP800-20 A.2 #2td3746294ca6a6cf3t1001010101010101sNIST SP800-20 A.2 #3t809f5f873c1fd761t0801010101010101sNIST SP800-20 A.2 #4tc02faffec989d1fct0401010101010101sNIST SP800-20 A.2 #5t4615aa1d33e72f10t0201010101010101sNIST SP800-20 A.2 #6t2055123350c00858t0180010101010101sNIST SP800-20 A.2 #7tdf3b99d6577397c8t0140010101010101sNIST SP800-20 A.2 #8t31fe17369b5288c9t0120010101010101sNIST SP800-20 A.2 #9tdfdd3cc64dae1642t0110010101010101sNIST SP800-20 A.2 #10t178c83ce2b399d94t0108010101010101sNIST SP800-20 A.2 #11t50f636324a9b7f80t0104010101010101sNIST SP800-20 A.2 #12ta8468ee3bc18f06dt0102010101010101sNIST SP800-20 A.2 #13ta2dc9e92fd3cde92t0101800101010101sNIST SP800-20 A.2 #14tcac09f797d031287t0101400101010101sNIST SP800-20 A.2 #15t90ba680b22aeb525t0101200101010101sNIST SP800-20 A.2 #16tce7a24f350e280b6t0101100101010101sNIST SP800-20 A.2 #17t882bff0aa01a0b87t0101080101010101sNIST SP800-20 A.2 #18t25610288924511c2t0101040101010101sNIST SP800-20 A.2 #19tc71516c29c75d170t0101020101010101sNIST SP800-20 A.2 #20t5199c29a52c9f059t0101018001010101sNIST SP800-20 A.2 #21tc22f0a294a71f29ft0101014001010101sNIST SP800-20 A.2 #22tee371483714c02eat0101012001010101sNIST SP800-20 A.2 #23ta81fbd448f9e522ft0101011001010101sNIST SP800-20 A.2 #24t4f644c92e192dfedt0101010801010101sNIST SP800-20 A.2 #25t1afa9a66a6df92aet0101010401010101sNIST SP800-20 A.2 #26tb3c1cc715cb879d8t0101010201010101sNIST SP800-20 A.2 #27t19d032e64ab0bd8bt0101010180010101sNIST SP800-20 A.2 #28t3cfaa7a7dc8720dct0101010140010101sNIST SP800-20 A.2 #29tb7265f7f447ac6f3t0101010120010101sNIST SP800-20 A.2 #30t9db73b3c0d163f54t0101010110010101sNIST SP800-20 A.2 #31t8181b65babf4a975t0101010108010101sNIST SP800-20 A.2 #32t93c9b64042eaa240t0101010104010101sNIST SP800-20 A.2 #33t5570530829705592t0101010102010101sNIST SP800-20 A.2 #34t8638809e878787a0t0101010101800101sNIST SP800-20 A.2 #35t41b9a79af79ac208t0101010101400101sNIST SP800-20 A.2 #36t7a9be42f2009a892t0101010101200101sNIST SP800-20 A.2 #37t29038d56ba6d2745t0101010101100101sNIST SP800-20 A.2 #38t5495c6abf1e5df51t0101010101080101sNIST SP800-20 A.2 #39tae13dbd561488933t0101010101040101sNIST SP800-20 A.2 #40t024d1ffa8904e389t0101010101020101sNIST SP800-20 A.2 #41td1399712f99bf02et0101010101018001sNIST SP800-20 A.2 #42t14c1d7c1cffec79et0101010101014001sNIST SP800-20 A.2 #43t1de5279dae3bed6ft0101010101012001sNIST SP800-20 A.2 #44te941a33f85501303t0101010101011001sNIST SP800-20 A.2 #45tda99dbbc9a03f379t0101010101010801sNIST SP800-20 A.2 #46tb7fc92f91d8e92e9t0101010101010401sNIST SP800-20 A.2 #47tae8e5caa3ca04e85t0101010101010201sNIST SP800-20 A.2 #48t9cc62df43b6eed74t0101010101010180sNIST SP800-20 A.2 #49td863dbb5c59a91a0t0101010101010140sNIST SP800-20 A.2 #50ta1ab2190545b91d7t0101010101010120sNIST SP800-20 A.2 #51t0875041e64c570f7t0101010101010110sNIST SP800-20 A.2 #52t5a594528bebef1cct0101010101010108sNIST SP800-20 A.2 #53tfcdb3291de21f0c0t0101010101010104sNIST SP800-20 A.2 #54t869efd7f9f265a09t0101010101010102sNIST SP800-20 A.2 #55t21e81b7ade88a259t5c577d4d9b20c0f8t 9b397ebf81b1181e282f4bb8adbadc6bs Two-key 3DESt2ac1762037074324fb53ba3596f73656d69746556616c6c6579t29979238528357b90e2e0be549cb0b2d5999b9a4a447e5c5c7dt07ade65b460f5ea9be35f9e14aa883a2048e3824aa616c0b2sGPG Test Vector #1tOPENPGPtcd47e2afb8b7e4b0t encrypted_ivt6a7eef0b58050e8b904acCs0ddlm}ddlm}||dtS(Ni(tDES3(tmake_block_testsR (t Crypto.CipherR tcommonRt test_data(tconfigR R((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Cipher/test_DES3.pyt get_testsCst__main__NcCstjtS(N(tunittestt TestSuiteR(((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Cipher/test_DES3.pytJst defaultTesttsuitet0000000000000000(RRRsNIST SP800-67 B.1(RRRs Two-key 3DES(t__doc__t __revision__RRtCrypto.Util.py3compattbinasciiRtSP800_20_A1_KEYtSP800_20_A2_PTRRt__name__RRtmain(((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Cipher/test_DES3.pyts                                                                                                                          !