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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Ë
ž¬`ið5ãóh—dZddlZddlZddlmZddlmZddlmZddl    m
Z
m Z ddlm Z ddl mZdd    lmZdd
lmZd d d de
fd ddde
fd ddde
fd ddde
fdd dde
fdddde
fdddde
fdddd e
fd!d d"d#e
fd!dd$d%e
fd!dd&d'e
fd!dd(d)e
fd*d d+d,e fd*d-d.d/e fd*d0d1d2e fd*d3d4d5e fd6d d7d8e fd6d-d9d:e fd6d0d;d<e fd6d3d=d>e fgad?„ZGd@„dAej*«ZGdB„dCej*«ZGdD„dEej*«ZGdF„dGej*«ZifdH„ZedIk(rddlZdJ„Zej:dK¬L«yy)Mz$Self-test suite for Crypto.Hash.CMACéN)Ú    unhexlify)Útobytes)ÚCMAC)ÚAESÚDES3)ÚSHAKE128)Ústrxor)Úlist_test_cases)Úload_test_vectors_wycheproofÚ 2b7e151628aed2a6abf7158809cf4f3cÚÚ bb1d6929e95937287fa37d129b756746z RFC 4493 #1Ú 6bc1bee22e409f96e93d7e117393172aÚ 070a16b46b4d4144f79bdd9dd04a287cz RFC 4493 #2ÚP6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411Ú dfa66747de9ae63030ca32611497c827z RFC 4493 #3ڀ6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710Ú 51f0bebf7e3b9d92fc49741779363cfez RFC 4493 #4Ú08e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7bÚ d17ddf46adaacde531cac483de7a9367zNIST SP 800 38B D.2 Example 5Ú 9e99a7bf31e710900662f65e617c5184zNIST SP 800 38B D.2 Example 6Ú 8a1de5be2eb31aad089a82e6ee908b0ezNIST SP 800 38B D.2 Example 7Ú a1d5df0eed790f794d77589659f39a11zNIST SP 800 38B D.2 Example 8Ú@603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4Ú 028962f61b7bf89efc6b551f4667d983zNIST SP 800 38B D.3 Example 9Ú 28a7023f452e8f82bd4bf28d8c37c35czNIST SP 800 38B D.3 Example 10Ú aaf3d8f1de5640c232f5b169b9c911e6zNIST SP 800 38B D.3 Example 11Ú e1992190549f6ed5696a2c056c315410zNIST SP 800 38B D.3 Example 12Ú08aa83bf8cbda10620bc1bf19fbb6cd58bc313d4a371ca8b5Úb7a688e122ffaf95zNIST SP 800 38B D.4 Example 13Ú6bc1bee22e409f96Ú8e8f293136283797zNIST SP 800 38B D.4 Example 14Ú(6bc1bee22e409f96e93d7e117393172aae2d8a57Ú743ddbe0ce2dc2edzNIST SP 800 38B D.4 Example 15Ú@6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e51Ú33e6b1092400eae5zNIST SP 800 38B D.4 Example 16Ú 4cf15134a2850dd58a3d10ba80570d38Úbd2ebf9a3ba00361zNIST SP 800 38B D.7 Example 17Ú4ff2ab813c53ce83zNIST SP 800 38B D.7 Example 18Ú62dd1b471902bd4ezNIST SP 800 38B D.7 Example 19Ú31b1e431dabc4eb8zNIST SP 800 38B D.7 Example 20có^—tjt|«¬«j|«S)N©Údata)rÚnewrÚread)ÚtagÚlengths  õqH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/Hash/test_CMAC.pyÚget_tag_randomr4ús €Ü <‰<œW S›\Ô *× /Ñ /°Ó 7Ð7ócó—eZdZd„Zd„Zy)ÚTestCMACcó˜—tdd«}tdd«}tj||t¬«j    «}dD]~}t dt |«|«Dcgc]
}||||z‘Œ }}tj|t¬«}|D]}|j|«Œ|j||j    ««Œ€y    cc}w)
z5Verify that internal caching is implemented correctlyÚ data_to_macé€Úkeyé)ÚmsgÚ    ciphermod)
ééééé
é r<é(éPr:r©r>N)    r4rr/rÚdigestÚrangeÚlenÚupdateÚ assertEqual)    Úselfr9r;Úref_macÚ chunk_lengthÚiÚchunksÚmacÚchunks             r3Útest_internal_cachingzTestCMAC.test_internal_cachingsɀô% ]°CÓ8ˆ ܘU BÓ'ˆÜ—(‘(˜3 K¼3Ô?×FÑFÓHˆð@ò    4ˆLô˜Aœs ;Ó/°Ó>ö@¸k ! A l¡NÒ3ð@ˆFð@ô—(‘(˜3¬#Ô.ˆCØò "Ø—
‘
˜5Õ!ð "à × Ñ ˜W c§j¡j£lÕ 3ñ    4ùò@sÁ Ccóî—d}d}tj||ddt¬«}|j«}|j    t
|j |dd«tj||t¬«j«}tj||ddtd¬«}|j|j«|«|j |dd«|j|j«|«y)Nsrrrrttts4444444444444444érGT)r>Úupdate_after_digest)rr/rrHÚ assertRaisesÚ    TypeErrorrKrL)rMr=r;ÚhÚdig1Údig2Úh2s       r3Útest_update_after_digestz!TestCMAC.test_update_after_digestsĀØˆØˆô H‰HS˜#˜b˜q˜'¬SÔ 1ˆØx‰x‹zˆØ ×Ñœ) Q§X¡X¨s°1°2¨wÔ7܏x‰x˜˜S¬CÔ0×7Ñ7Ó9ˆôX‰Xc˜3˜r ˜7¬cÀtÔ LˆØ ×јŸ™› dÔ+ð         ‰    #ab'ÔØ ×јŸ™› dÕ+r5N)Ú__name__Ú
__module__Ú __qualname__rTr^©r5r3r7r7þs „ò4ó&,r5r7có—eZdZd„Zy)ÚByteArrayTestscóZ—d}d}t|«}t|«}tj||t¬«}tj||t¬«}d|ddd|dd|j    |j «|j ««t|«}t|«}tj|t¬«}tj|t¬«}|j |«|j |«d|dd|j    |j «|j ««y)Nó0000000000000000órGóÿr?)Ú    bytearrayrr/rrLrHrK)rMr;r.Úkey_baÚdata_baÚh1r]s       r3ÚrunTestzByteArrayTests.runTest(sè€àˆØˆô˜3“ˆÜ˜D“/ˆä X‰Xc˜4¬3Ô /ˆÜ X‰Xf˜g´Ô 5ˆØˆˆrˆ
؈ˆ Ø ×јŸ™› b§i¡i£kÔ2ô˜3“ˆÜ˜D“/ˆä X‰Xc¤SÔ )ˆÜ X‰Xc¤SÔ )ˆØ
    ‰    $ŒØ
    ‰    'ÔØˆˆ Ø ×јŸ™› b§i¡i£kÕ2r5N©r_r`rarmrbr5r3rdrd&s„ó3r5rdcó—eZdZd„Zy)ÚMemoryViewTestscó„—d}d}d„}d„}||fD].}||«}||«}tj||t¬«}tj||t¬«}    |js
d|ddd|dd|j    |j «|    j ««||«}tj|t¬«}tj|t¬«}    |j |«|    j |«|jsd|dd|j    |j «|    j ««Œ1y)Nrfrgcó—t|«S©N)Ú
memoryviewr-s r3Ú    get_mv_roz*MemoryViewTests.runTest.<locals>.get_mv_roJs €Ü˜dÓ#Ð #r5có*—tt|««Srs)rtrir-s r3Ú    get_mv_rwz*MemoryViewTests.runTest.<locals>.get_mv_rwMs€Üœi¨›oÓ.Ð .r5rGrhr?)rr/rÚreadonlyrLrHrK)
rMr;r.rurwÚget_mvÚkey_mvÚdata_mvrlr]s
          r3rmzMemoryViewTests.runTestEs€àˆØˆò    $ò    /ð! )Ð,ó    7ˆFñ˜C“[ˆFÙ˜T“lˆGä—‘˜#˜t¬sÔ3ˆBÜ—‘˜& '´SÔ9ˆBØ×#Ò#Ø$r˜
Ø%˜˜ Ø × Ñ ˜RŸY™Y›[¨"¯)©)«+Ô 6ñ˜T“lˆGä—‘˜#¬Ô-ˆBÜ—‘˜#¬Ô-ˆBØ I‰IdŒOØ I‰IgÔ Ø×#Ò#Ø%˜˜ Ø × Ñ ˜RŸY™Y›[¨"¯)©)«+Ö 6ñ-    7r5Nrnrbr5r3rprpCs„ó!7r5rpcó6—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z    y)    ÚTestVectorsWycheproofcó^—tjj|«||_d|_y)NÚNone)ÚunittestÚTestCaseÚ__init__Ú_wycheproof_warningsÚ_id)rMÚwycheproof_warningss  r3r‚zTestVectorsWycheproof.__init__ks%€Ü×Ñ×"Ñ" 4Ô(Ø$7ˆÔ!؈r5có6—d„}tdddd|i¬«|_y)Ncó—|ddzS)NÚtagSizeérb)Úgroups r3Ú
filter_tagz/TestVectorsWycheproof.setUp.<locals>.filter_tagrs€Ø˜Ñ# qÑ(Ð (r5)ÚHashÚ
wycheproofzaes_cmac_test.jsonzWycheproof CMACÚtag_size)Ú    group_tag)r Útv)rMr‹s  r3ÚsetUpzTestVectorsWycheproof.setUpps'€ò    )ô/Ð/EØ/CØ/@Ø:DÀjÐ9QôSˆr5có—|jSrs)r„)rMs r3ÚshortDescriptionz&TestVectorsWycheproof.shortDescriptionzs €Øx‰xˆr5có˜—|jr>|jr1ddl}|jd|j›d|j
›d«yyy)NrzWycheproof warning: z (ú))ÚwarningrƒÚwarningsÚwarnr„Úcomment)rMrr—s   r3r˜zTestVectorsWycheproof.warn}s4€Ø :Š:˜$×3Ò3Û Ø MŠM¸4¿8»8ÀRÇZÃZÐPÕ Qð4ˆ:r5có¾—dt|j«z|_    tj|j
|j t|j¬«j«}|jr.|j||j«|j|«yy#t$r0}t|j
«dvrdt|«vrYd}~y|‚d}~wwxYw)NzWycheproof MAC creation Test #©r>Úmac_len©r<éé ú
key length)ÚstrÚidr„rr/r;r=rrŽrHÚ
ValueErrorrJÚvalidrLr1r˜)rMrr1Úes    r3Útest_create_macz%TestVectorsWycheproof.test_create_mac‚s¦€Ø3´c¸"¿%¹%³jÑ@ˆŒð    Ü—(‘(˜2Ÿ6™6 2§6¡6´SÀ"Ç+Á+ÔN×UÑUÓWˆCð
8Š8Ø × Ñ ˜S "§&¡&Ô )Ø I‰IbMð øô    ò    Ü2—6‘6‹{ ,Ñ.°<Ä3ÀqÃ6Ñ3IÜØˆGûð    úsŸA    B#Â#    CÂ,$CÃCÃCcóÞ—dt|j«z|_    tj|j
|j t|j¬«}    |j|j«|jsJ‚|j|«y#t$r0}t|j
«dvrdt|«vrYd}~y|‚d}~wwxYw#t$r|jrJ‚YywxYw)Nz"Wycheproof MAC verification Test #r›rr )r¡r¢r„rr/r;r=rrŽr£rJÚverifyr1r¤r˜)rMrrRr¥s    r3Útest_verify_macz%TestVectorsWycheproof.test_verify_macs»€Ø7¼#¸b¿e¹e»*ÑDˆŒð    Ü—(‘(˜2Ÿ6™6 2§6¡6´SÀ"Ç+Á+ÔNˆCð
    Ø J‰Jr—v‘vÔ ð—8’8ˆO8Ø I‰IbMøôò    Ü2—6‘6‹{ ,Ñ.°<Ä3ÀqÃ6Ñ3IÜØˆGûð    ûô ò     Ø—x’xÐ <‘xð     ús/Ÿ;BÁC    CÂ$C
ÃC
CÃC,Ã+C,cój—|jD]$}|j|«|j|«Œ&yrs)rr¦r©)rMrs  r3rmzTestVectorsWycheproof.runTest s1€à—'‘'ò    %ˆBØ ×  Ñ   Ô $Ø ×  Ñ   Õ $ñ    %r5N)
r_r`rar‚r‘r“r˜r¦r©rmrbr5r3r}r}is'„òò
SòòRò
òó"%r5r}cóŒ—ddl}ddlm}|jd«}g}tD]0}t |«}t |d¬«|d<|j|«Œ2|td|«}|jt««|jtt««|jt««|t|«gz }|S)Nrr?)Úmake_mac_testsr…rVrGr)ÚtypesÚcommonr¬ÚgetÚ    test_dataÚlistÚdictÚappendrrdr
r7rpr})Úconfigr­r¬r…Úparams_test_dataÚrowÚtÚtestss        r3Ú    get_testsr¹§s±€ãÝ&à Ÿ*™*Ð%:Ó;ÐðÐÜò#ˆÜ ‹IˆÜ˜a ™dÔ#ˆˆ!‰Ø×Ñ Õ"ð#ñ
œ4 Ð)9Ó :€EØ    ‡LL”Ó!Ô"Ø    ‡LL”¤Ó*Ô+Ø    ‡LL”Ó"Ô#Ø    Ô$Ð%8Ó9Ð ;Ñ;€EØ €Lr5Ú__main__có<—tjt««Srs)r€Ú    TestSuiter¹rbr5r3ú<lambda>r½¿s€”H×&Ñ&¤y£{Ó3€r5Úsuite)Ú defaultTest)Ú__doc__Újsonr€ÚbinasciirÚCrypto.Util.py3compatrÚ Crypto.HashrÚ Crypto.CipherrrrÚCrypto.Util.strxorr    ÚCrypto.SelfTest.st_commonr
ÚCrypto.SelfTest.loaderr r°r4rr7rdrpr}r¹r_r¾Úmainrbr5r3ú<module>rÊs–ðñD+ã ÛÝå)åß#Ý å%å5Ý?ð    +Ø
Ø*ØØ ð    ð    +Ø*Ø*ØØ ð    ð    +ð    ð    +ØØ ð ð    +ð    +ð    +ØØ ðð     à
Ø*Ø'Ø ð ð    à*Ø*Ø'Ø ð ð    ð    ð    +Ø'Ø ðð    ð    +ð    +Ø'Ø ð    ð    +à
Ø*Ø'Ø ð ð    +à*Ø*Ø(Ø ð ð    +ð    ð    +Ø(Ø ðð    +ð    +ð    +Ø(Ø ð    ð    ð     ØØ(Ø ð ð    ð    ØØ(Ø ð ð    ð    ð    Ø(Ø ð    ð    ð    ð    Ø(Ø ð
ð    à
ØØ(Ø ð ð    àØØ(Ø ð ð    ð    ð    Ø(Ø ðð    ð    ð    Ø(Ø ð    ðqC €    òL8ô%,ˆx× Ñ ô%,ôP3X×&Ñ&ô3ô:#7h×'Ñ'ô#7ôL;%˜H×-Ñ-ô;%ð|óð, ˆzÒÛÙ 3€EØ€H‡MM˜gÖ&ðr5