1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Ë
ž¬`i½?ãóZ—dZddlZddlmZdZdZgd‘dded    f‘d
d ed f‘d dedf‘ddedf‘ddedf‘ddedf‘ddedf‘ddedf‘dd ed!f‘d"d#ed$f‘d%d&ed'f‘d(d)ed*f‘d+d,ed-f‘d.d/ed0f‘d1d2ed3f‘d4d5ed6f‘d7d8ed9f‘d:d;ed<f‘d=d>ed?f‘d@dAedBf‘dCdDedEf‘dFdGedHf‘dIdJedKf‘dLdMedNf‘dOdPedQf‘dRdSedTf‘dUdVedWf‘dXdYedZf‘d[d\ed]f‘d^d_ed`f‘dadbedcf‘dddeedff‘dgdhedif‘djdkedlf‘dmdnedof‘dpdqedrf‘dsdteduf‘dvdwedxf‘dydzed{f‘d|d}ed~f‘dd€edf‘d‚dƒed„f‘d…d†ed‡f‘dˆd‰edŠf‘d‹dŒedf‘dŽdedf‘d‘d’ed“f‘d”d•ed–f‘d—d˜ed™f‘dšd›edœf‘ddžedŸf‘d d¡ed¢f‘d£d¤ed¥f‘d¦d§ed¨f‘d©dªed«f‘d¬d­ed®f‘d¯d°ed±f‘d²d³ed´f‘dµd¶ed·f‘d¸d¹edºf‘d»d¼ed½f‘d¾d¿edÀf‘dÁdÂedÃf‘dÄdÅedÆf‘edÇdÈdÉf‘edÊdËdÌf‘edÍdÎdÏf‘edÐdÑdÒf‘edÓdÔdÕf‘edÖd×dØf‘edÙdÚdÛf‘edÜdÝdÞf‘edßdàdáf‘edâdãdäf‘edådædçf‘edèdédêf‘edëdìdíf‘edîdïdðf‘edñdòdóf‘edôdõdöf‘ed÷dødùf‘edúdûdüf‘edýdþdÿf‘edddf‘edddf‘edddf‘ed    d
d f‘ed d df‘edddf‘edddf‘edddf‘edddf‘edddf‘eddd f‘ed!d"d#f‘ed$d%d&f‘ed'd(d)f‘ed*d+d,f‘ed-d.d/f‘ed0d1d2f‘ed3d4d5f‘ed6d7d8f‘ed9d:d;f‘ed<d=d>f‘ed?d@dAf‘edBdCdDf‘edEdFdGf‘edHdIdJf‘edKdLdMf‘edNdOdPf‘edQdRdSf‘edTdUdVf‘edWdXdYf‘edZd[d\f‘ed]d^d_f‘ed`dadbf‘edcdddef‘edfdgdhf‘edidjdkf‘edldmdnf‘ZGdo„dpej«ZGdq„drej«Z    ifds„Z
e dtk(rddlZdu„Z ejdv¬w«yy(xz%Self-test suite for Crypto.Cipher.DESéN)ÚDESÚ0101010101010101Ú0000000000000000)rÚ82dcbafbdeab6602Ú10316e028c8f3b4azNIST SP800-17 AÚ8000000000000000Ú95f8a5e5dd31d900zNIST SP800-17 B.1 #0Ú4000000000000000Údd7f121ca5015619zNIST SP800-17 B.1 #1Ú2000000000000000Ú2e8653104f3834eazNIST SP800-17 B.1 #2Ú1000000000000000Ú4bd388ff6cd81d4fzNIST SP800-17 B.1 #3Ú0800000000000000Ú20b9e767b2fb1456zNIST SP800-17 B.1 #4Ú0400000000000000Ú55579380d77138efzNIST SP800-17 B.1 #5Ú0200000000000000Ú6cc5defaaf04512fzNIST SP800-17 B.1 #6Ú0100000000000000Ú0d9f279ba5d87260zNIST SP800-17 B.1 #7Ú0080000000000000Úd9031b0271bd5a0azNIST SP800-17 B.1 #8Ú0040000000000000Ú424250b37c3dd951zNIST SP800-17 B.1 #9Ú0020000000000000Úb8061b7ecd9a21e5zNIST SP800-17 B.1 #10Ú0010000000000000Úf15d0f286b65bd28zNIST SP800-17 B.1 #11Ú0008000000000000Úadd0cc8d6e5deba1zNIST SP800-17 B.1 #12Ú0004000000000000Úe6d5f82752ad63d1zNIST SP800-17 B.1 #13Ú0002000000000000Úecbfe3bd3f591a5ezNIST SP800-17 B.1 #14Ú0001000000000000Úf356834379d165cdzNIST SP800-17 B.1 #15Ú0000800000000000Ú2b9f982f20037fa9zNIST SP800-17 B.1 #16Ú0000400000000000Ú889de068a16f0be6zNIST SP800-17 B.1 #17Ú0000200000000000Úe19e275d846a1298zNIST SP800-17 B.1 #18Ú0000100000000000Ú329a8ed523d71aeczNIST SP800-17 B.1 #19Ú0000080000000000Úe7fce22557d23c97zNIST SP800-17 B.1 #20Ú0000040000000000Ú12a9f5817ff2d65dzNIST SP800-17 B.1 #21Ú0000020000000000Úa484c3ad38dc9c19zNIST SP800-17 B.1 #22Ú0000010000000000Úfbe00a8a1ef8ad72zNIST SP800-17 B.1 #23Ú0000008000000000Ú750d079407521363zNIST SP800-17 B.1 #24Ú0000004000000000Ú64feed9c724c2fafzNIST SP800-17 B.1 #25Ú0000002000000000Úf02b263b328e2b60zNIST SP800-17 B.1 #26Ú0000001000000000Ú9d64555a9a10b852zNIST SP800-17 B.1 #27Ú0000000800000000Úd106ff0bed5255d7zNIST SP800-17 B.1 #28Ú0000000400000000Úe1652c6b138c64a5zNIST SP800-17 B.1 #29Ú0000000200000000Úe428581186ec8f46zNIST SP800-17 B.1 #30Ú0000000100000000Úaeb5f5ede22d1a36zNIST SP800-17 B.1 #31Ú0000000080000000Úe943d7568aec0c5czNIST SP800-17 B.1 #32Ú0000000040000000Údf98c8276f54b04bzNIST SP800-17 B.1 #33Ú0000000020000000Úb160e4680f6c696fzNIST SP800-17 B.1 #34Ú0000000010000000Úfa0752b07d9c4ab8zNIST SP800-17 B.1 #35Ú0000000008000000Úca3a2b036dbc8502zNIST SP800-17 B.1 #36Ú0000000004000000Ú5e0905517bb59bcfzNIST SP800-17 B.1 #37Ú0000000002000000Ú814eeb3b91d90726zNIST SP800-17 B.1 #38Ú0000000001000000Ú4d49db1532919c9fzNIST SP800-17 B.1 #39Ú0000000000800000Ú25eb5fc3f8cf0621zNIST SP800-17 B.1 #40Ú0000000000400000Úab6a20c0620d1c6fzNIST SP800-17 B.1 #41Ú0000000000200000Ú79e90dbc98f92ccazNIST SP800-17 B.1 #42Ú0000000000100000Ú866ecedd8072bb0ezNIST SP800-17 B.1 #43Ú0000000000080000Ú8b54536f2f3e64a8zNIST SP800-17 B.1 #44Ú0000000000040000Úea51d3975595b86bzNIST SP800-17 B.1 #45Ú0000000000020000Úcaffc6ac4542de31zNIST SP800-17 B.1 #46Ú0000000000010000Ú8dd45a2ddf90796czNIST SP800-17 B.1 #47Ú0000000000008000Ú1029d55e880ec2d0zNIST SP800-17 B.1 #48Ú0000000000004000Ú5d86cb23639dbea9zNIST SP800-17 B.1 #49Ú0000000000002000Ú1d1ca853ae7c0c5fzNIST SP800-17 B.1 #50Ú0000000000001000Úce332329248f3228zNIST SP800-17 B.1 #51Ú0000000000000800Ú8405d1abe24fb942zNIST SP800-17 B.1 #52Ú0000000000000400Úe643d78090ca4207zNIST SP800-17 B.1 #53Ú0000000000000200Ú48221b9937748a23zNIST SP800-17 B.1 #54Ú0000000000000100Údd7c0bbd61fafd54zNIST SP800-17 B.1 #55Ú0000000000000080Ú2fbc291a570db5c4zNIST SP800-17 B.1 #56Ú0000000000000040Úe07c30d7e4e26e12zNIST SP800-17 B.1 #57Ú0000000000000020Ú0953e2258e8e90a1zNIST SP800-17 B.1 #58Ú0000000000000010Ú5b711bc4ceebf2eezNIST SP800-17 B.1 #59Ú0000000000000008Úcc083f1e6d9e85f6zNIST SP800-17 B.1 #60Ú0000000000000004Úd2fd8867d50d2dfezNIST SP800-17 B.1 #61Ú0000000000000002Ú06e7ea22ce92708fzNIST SP800-17 B.1 #62Ú0000000000000001Ú166b40b44aba4bd6zNIST SP800-17 B.1 #63Ú95a8d72813daa94dÚ8001010101010101zNIST SP800-17 B.2 #0Ú0eec1487dd8c26d5Ú4001010101010101zNIST SP800-17 B.2 #1Ú7ad16ffb79c45926Ú2001010101010101zNIST SP800-17 B.2 #2Úd3746294ca6a6cf3Ú1001010101010101zNIST SP800-17 B.2 #3Ú809f5f873c1fd761Ú0801010101010101zNIST SP800-17 B.2 #4Úc02faffec989d1fcÚ0401010101010101zNIST SP800-17 B.2 #5Ú4615aa1d33e72f10Ú0201010101010101zNIST SP800-17 B.2 #6Ú2055123350c00858Ú0180010101010101zNIST SP800-17 B.2 #7Údf3b99d6577397c8Ú0140010101010101zNIST SP800-17 B.2 #8Ú31fe17369b5288c9Ú0120010101010101zNIST SP800-17 B.2 #9Údfdd3cc64dae1642Ú0110010101010101zNIST SP800-17 B.2 #10Ú178c83ce2b399d94Ú0108010101010101zNIST SP800-17 B.2 #11Ú50f636324a9b7f80Ú0104010101010101zNIST SP800-17 B.2 #12Úa8468ee3bc18f06dÚ0102010101010101zNIST SP800-17 B.2 #13Úa2dc9e92fd3cde92Ú0101800101010101zNIST SP800-17 B.2 #14Úcac09f797d031287Ú0101400101010101zNIST SP800-17 B.2 #15Ú90ba680b22aeb525Ú0101200101010101zNIST SP800-17 B.2 #16Úce7a24f350e280b6Ú0101100101010101zNIST SP800-17 B.2 #17Ú882bff0aa01a0b87Ú0101080101010101zNIST SP800-17 B.2 #18Ú25610288924511c2Ú0101040101010101zNIST SP800-17 B.2 #19Úc71516c29c75d170Ú0101020101010101zNIST SP800-17 B.2 #20Ú5199c29a52c9f059Ú0101018001010101zNIST SP800-17 B.2 #21Úc22f0a294a71f29fÚ0101014001010101zNIST SP800-17 B.2 #22Úee371483714c02eaÚ0101012001010101zNIST SP800-17 B.2 #23Úa81fbd448f9e522fÚ0101011001010101zNIST SP800-17 B.2 #24Ú4f644c92e192dfedÚ0101010801010101zNIST SP800-17 B.2 #25Ú1afa9a66a6df92aeÚ0101010401010101zNIST SP800-17 B.2 #26Úb3c1cc715cb879d8Ú0101010201010101zNIST SP800-17 B.2 #27Ú19d032e64ab0bd8bÚ0101010180010101zNIST SP800-17 B.2 #28Ú3cfaa7a7dc8720dcÚ0101010140010101zNIST SP800-17 B.2 #29Úb7265f7f447ac6f3Ú0101010120010101zNIST SP800-17 B.2 #30Ú9db73b3c0d163f54Ú0101010110010101zNIST SP800-17 B.2 #31Ú8181b65babf4a975Ú0101010108010101zNIST SP800-17 B.2 #32Ú93c9b64042eaa240Ú0101010104010101zNIST SP800-17 B.2 #33Ú5570530829705592Ú0101010102010101zNIST SP800-17 B.2 #34Ú8638809e878787a0Ú0101010101800101zNIST SP800-17 B.2 #35Ú41b9a79af79ac208Ú0101010101400101zNIST SP800-17 B.2 #36Ú7a9be42f2009a892Ú0101010101200101zNIST SP800-17 B.2 #37Ú29038d56ba6d2745Ú0101010101100101zNIST SP800-17 B.2 #38Ú5495c6abf1e5df51Ú0101010101080101zNIST SP800-17 B.2 #39Úae13dbd561488933Ú0101010101040101zNIST SP800-17 B.2 #40Ú024d1ffa8904e389Ú0101010101020101zNIST SP800-17 B.2 #41Úd1399712f99bf02eÚ0101010101018001zNIST SP800-17 B.2 #42Ú14c1d7c1cffec79eÚ0101010101014001zNIST SP800-17 B.2 #43Ú1de5279dae3bed6fÚ0101010101012001zNIST SP800-17 B.2 #44Úe941a33f85501303Ú0101010101011001zNIST SP800-17 B.2 #45Úda99dbbc9a03f379Ú0101010101010801zNIST SP800-17 B.2 #46Úb7fc92f91d8e92e9Ú0101010101010401zNIST SP800-17 B.2 #47Úae8e5caa3ca04e85Ú0101010101010201zNIST SP800-17 B.2 #48Ú9cc62df43b6eed74Ú0101010101010180zNIST SP800-17 B.2 #49Úd863dbb5c59a91a0Ú0101010101010140zNIST SP800-17 B.2 #50Úa1ab2190545b91d7Ú0101010101010120zNIST SP800-17 B.2 #51Ú0875041e64c570f7Ú0101010101010110zNIST SP800-17 B.2 #52Ú5a594528bebef1ccÚ0101010101010108zNIST SP800-17 B.2 #53Úfcdb3291de21f0c0Ú0101010101010104zNIST SP800-17 B.2 #54Ú869efd7f9f265a09Ú0101010101010102zNIST SP800-17 B.2 #55có—eZdZdZd„Zy)Ú RonRivestTestaÓ Ronald L. Rivest's DES test, see
        http://people.csail.mit.edu/rivest/Destest.txt
    ABSTRACT
    --------
 
    We present a simple way to test the correctness of a DES implementation:
    Use the recurrence relation:
 
        X0      =       9474B8E8C73BCA7D (hexadecimal)
 
        X(i+1)  =       IF  (i is even)  THEN  E(Xi,Xi)  ELSE  D(Xi,Xi)
 
    to compute a sequence of 64-bit values:  X0, X1, X2, ..., X16.  Here
    E(X,K)  denotes the DES encryption of  X  using key  K, and  D(X,K)  denotes
    the DES decryption of  X  using key  K.  If you obtain
 
        X16     =       1B1A2DDB4C642438
 
    your implementation does not have any of the 36,568 possible single-fault
    errors described herein.
    cóH—ddlm}g}dg|ddtd«D]e}tj||tj
«}|dzs|j ||«g||dzdŒK|j||«g||dzdŒg|j||d«|d««y)Nr)Úb2a_hexs”t¸èÇ;Ê}éés-ÛLd$8)    ÚbinasciirûÚrangerÚnewÚMODE_ECBÚencryptÚdecryptÚ assertEqual)ÚselfrûÚXÚiÚcs     õrH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/Cipher/test_DES.pyÚrunTestzRonRivestTest.runTest6s©€Ý$à ˆØ4Ð5ˆˆ!ˆ"ˆär“ò    ,ˆAÜ—‘˜˜!™œSŸ\™\Ó*ˆAؐa’CØŸ9™9 Q q¡T›?Ð+!A‘#$‘àŸ9™9 Q q¡T›?Ð+!A‘#$‘ð     ,ð     ×Ñ™  2¡›Ù Ð7Ó 8õ    :óN)Ú__name__Ú
__module__Ú __qualname__Ú__doc__r
©r r    rùrù s „ñó*:r rùcó—eZdZd„Zy)Ú
TestOutputcóN—tjdtj«}d}|j|«}t    d«}|j||¬«}|j ||«|j |d«|j ||¬«}|j ||«|j |d«tt    d««}|j||¬«|j ||«|j ||¬«|j ||«|jt|j|d¬«|jt|j |d¬«t    d«}|jt|j||¬«|jt|j ||¬«y)Ns44444444s55555555é)Úoutputs00000000é) rrrrÚ    bytearrayrrÚ
memoryviewÚ assertRaisesÚ    TypeErrorÚ
ValueError)rÚcipherÚptÚctrÚresÚshorter_outputs       r    r
zTestOutput.runTestIs[€ô—‘˜¤§¡Ó.ˆà ˆØ ^‰^˜BÓ ˆä˜1“ˆØn‰n˜R¨ˆnÓ/ˆØ ×ј˜VÔ$Ø ×ј˜dÔ#àn‰n˜R¨ˆnÓ/ˆØ ×ј˜VÔ$Ø ×ј˜dÔ#äœI a›LÓ)ˆØ‰r &ˆÔ)Ø ×ј˜VÔ$à‰r &ˆÔ)Ø ×ј˜VÔ$à ×Ñœ) V§^¡^°RÀÐÔGØ ×Ñœ) V§^¡^°RÀÐÔGä" 1›ˆØ ×Ñœ* f§n¡n°bÀÐÔPØ ×Ñœ* f§n¡n°bÀÐÕPr N)r r rr
rr r    rrGs„óQr rcón—ddlm}|tdt«}|t    «gz }|t «gz }|S)Nrý)Úmake_block_testsr)Úcommonr"rÚ    test_datarùr)Úconfigr"Útestss   r    Ú    get_testsr'is5€Ý(Ù œS %¬Ó 3€EØ    Œm‹oРрEØ    Œj‹lˆ^Ñ€EØ €Lr Ú__main__có<—tjt««S)N)ÚunittestÚ    TestSuiter'rr r    ú<lambda>r,ss€”H×&Ñ&¤y£{Ó3€r Úsuite)Ú defaultTest)rr*Ú Crypto.CipherrÚSP800_17_B1_KEYÚSP800_17_B2_PTr$ÚTestCaserùrr'r r-Úmainrr r    ú<module>r4sÙ ðñ2,ãåð€Ø€ð| ð ð | ðÐ+¨_Øð ð| ðÐ+¨_Øð ð| ðÐ+¨_Øð ð| ð Ð+¨_Øð ð!| ð$Ð+¨_Øð ð%| ð(Ð+¨_Øð ð)| ð,Ð+¨_Øð ð-| ð0Ð+¨_Øð ð1| ð4Ð+¨_Øð ð5| ð8Ð+¨_Øð ð9| ð<Ð+¨_Øð!ð=| ð@Ð+¨_Øð!ðA| ðDÐ+¨_Øð!ðE| ðHÐ+¨_Øð!ðI| ðLÐ+¨_Øð!ðM| ðPÐ+¨_Øð!ðQ| ðTÐ+¨_Øð!ðU| ðXÐ+¨_Øð!ðY| ð\Ð+¨_Øð!ð]| ð`Ð+¨_Øð!ða| ðdÐ+¨_Øð!ðe| ðhÐ+¨_Øð!ði| ðlÐ+¨_Øð!ðm| ðpÐ+¨_Øð!ðq| ðtÐ+¨_Øð!ðu| ðxÐ+¨_Øð!ðy| ð|Ð+¨_Øð!ð}| ð@Ð+¨_Øð!ðA| ðDÐ+¨_Øð!ðE| ðHÐ+¨_Øð!ðI| ðLÐ+¨_Øð!ðM| ðPÐ+¨_Øð!ðQ| ðTÐ+¨_Øð!ðU| ðXÐ+¨_Øð!ðY| ð\Ð+¨_Øð!ð]| ð`Ð+¨_Øð!ða| ðdÐ+¨_Øð!ðe| ðhÐ+¨_Øð!ði| ðlÐ+¨_Øð!ðm| ðpÐ+¨_Øð!ðq| ðtÐ+¨_Øð!ðu| ðxÐ+¨_Øð!ðy| ð|Ð+¨_Øð!ð}| ð@Ð+¨_Øð!ðA| ðDÐ+¨_Øð!ðE| ðHÐ+¨_Øð!ðI| ðLÐ+¨_Øð!ðM| ðPÐ+¨_Øð!ðQ| ðTÐ+¨_Øð!ðU| ðXÐ+¨_Øð!ðY| ð\Ð+¨_Øð!ð]| ð`Ð+¨_Øð!ða| ðdÐ+¨_Øð!ðe| ðhÐ+¨_Øð!ði| ðlÐ+¨_Øð!ðm| ðpÐ+¨_Øð!ðq| ðtÐ+¨_Øð!ðu| ðxÐ+¨_Øð!ðy| ð|Ð+¨_Øð!ð}| ð@Ð+¨_Øð!ðA| ðDÐ+¨_Øð!ðE| ðHÐ+¨_Øð!ðI| ðLÐ+¨_Øð!ðM| ðPÐ+¨_Øð!ðQ| ðXÐ'Ð);Øð ðY| ð\Ð'Ð);Øð ð]| ð`Ð'Ð);Øð ða| ðdÐ'Ð);Øð ðe| ðhÐ'Ð);Øð ði| ðlÐ'Ð);Øð ðm| ðpÐ'Ð);Øð ðq| ðtÐ'Ð);Øð ðu| ðxÐ'Ð);Øð ðy| ð|Ð'Ð);Øð ð}| ð@Ð'Ð);Øð!ðA| ðDÐ'Ð);Øð!ðE| ðHÐ'Ð);Øð!ðI| ðLÐ'Ð);Øð!ðM| ðPÐ'Ð);Øð!ðQ| ðTÐ'Ð);Øð!ðU| ðXÐ'Ð);Øð!ðY| ð\Ð'Ð);Øð!ð]| ð`Ð'Ð);Øð!ða| ðdÑ'Ñ);Ùð!ðe| ðhÑ'Ñ);Ùð!ði| ðlÑ'Ñ);Ùð!ðm| ðpÑ'Ñ);Ùð!ðq| ðtÑ'Ñ);Ùð!ðu| ðxÑ'Ñ);Ùð!ðy| ð|Ñ'Ñ);Ùð!ð}| ð@Ñ'Ñ);Ùð!ðA| ðDÑ'Ñ);Ùð!ðE| ðHÑ'Ñ);Ùð!ðI| ðLÑ'Ñ);Ùð!ðM| ðPÑ'Ñ);Ùð!ðQ| ðTÑ'Ñ);Ùð!ðU| ðXÑ'Ñ);Ùð!ðY| ð\Ñ'Ñ);Ùð!ð]| ð`Ñ'Ñ);Ùð!ða| ðdÑ'Ñ);Ùð!ðe| ðhÑ'Ñ);Ùð!ði| ðlÑ'Ñ);Ùð!ðm| ðpÑ'Ñ);Ùð!ðq| ðtÑ'Ñ);Ùð!ðu| ðxÑ'Ñ);Ùð!ðy| ð|Ñ'Ñ);Ùð!ð}| ð@Ñ'Ñ);Ùð!ðA| ðDÑ'Ñ);Ùð!ðE| ðHÑ'Ñ);Ùð!ðI| ðLÑ'Ñ);Ùð!ðM| ðPÑ'Ñ);Ùð!ðQ| ðTÑ'Ñ);Ùð!ðU| ðXÑ'Ñ);Ùð!ðY| ð\Ñ'Ñ);Ùð!ð]| ð`Ñ'Ñ);Ùð!ða| ðdÑ'Ñ);Ùð!ðe| ðhÑ'Ñ);Ùð!ði| ðlÑ'Ñ);Ùð!ðm| ðpÑ'Ñ);Ùð!ðq| ðtÑ'Ñ);Ùð!ðu| €    ö|$:H×%Ñ%ô$:öNQ×"Ñ"ôQðDôð ‰zÒÛÚ 3€EØ€H‡MM™g×&ðr