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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
Ë
ž¬`išsãóf—ddlZddlmZddlmZddlmZddlmZm    Z    ddl
m Z m Z ddl mZddlmZd    „ZGd
„d ej$«ZGd „d ej$«ZGd„dej$«ZGd„dej$«ZGd„dej$«Zddl
mZm Z mZmZmZej9deej<«zeej<«e j<D]Zej9dee«ze e«Œ ej<D]Zej9dee«zee«Œ ej<D]Zej9dee«zee«Œ ej<D]Zej9dee«zee«Œ ifd„Z e!dk(rd„Z"ejFd¬«yy)éN)Ú    unhexlify)Úlist_test_cases)Úload_test_vectors_wycheproof)ÚtobytesÚbchr)ÚAESÚDES3)ÚSHAKE128)Ústrxorcó^—tjt|«¬«j|«S)N)Údata)r
ÚnewrÚread)ÚtagÚlengths  õrH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/Cipher/test_EAX.pyÚget_tag_randomr+s €Ü <‰<œW S›\Ô *× /Ñ /°Ó 7Ð7ócóҗeZdZedd«Zedd«Zedd«Zedd«Zd„Zd„Z    d    „Z
d
„Z d „Z d „Z d „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zy)ÚEaxTestsÚkey_128éÚkey_192Ú    nonce_128é Údata_128cól—tj|jtj|j¬«}t dd«}|j |«}tj|jtj|j¬«}|j|«}|j||«y)N©ÚnonceÚ    plaintexti@)    rrrÚMODE_EAXÚnonce_96rÚencryptÚdecryptÚ assertEqual©ÚselfÚcipherÚptÚctÚpt2s     rÚtest_loopback_128zEaxTests.test_loopback_1286sv€Ü—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆÜ ˜K¨Ó 2ˆØ ^‰^˜BÓ ˆä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØn‰n˜RÓ ˆØ ×ј˜SÕ!rcól—tj|jtj|j¬«}t dd«}|j |«}tj|jtj|j¬«}|j|«}|j||«y)Nrr i )    r    rrr!r"rr#r$r%r&s     rÚtest_loopback_64zEaxTests.test_loopback_64?sv€Ü—‘˜$Ÿ,™,¬¯ © ¸T¿]¹]ÔKˆÜ ˜K¨Ó 1ˆØ ^‰^˜BÓ ˆä—‘˜$Ÿ,™,¬¯ © ¸T¿]¹]ÔKˆØn‰n˜RÓ ˆØ ×ј˜SÕ!rcó¸—tj|jtj«}|j}tj|jtj«}|j}|j t |«d«|j||«tj|jtj|j«}|j|j«}tj|jtj|j¬«}|j ||j|j««y)Nrr) rrrr!rr%ÚlenÚassertNotEqualr"r#r)r'r(Únonce1Únonce2r*s     rÚ
test_noncezEaxTests.test_nonceHsӀä—‘˜Ÿ™¤s§|¡|Ó4ˆØ—‘ˆÜ—‘˜Ÿ™¤s§|¡|Ó4ˆØ—‘ˆØ ×Ñœ˜V› bÔ)Ø ×јF FÔ+ä—‘˜Ÿ™¤s§|¡|°T·]±]ÓCˆØ ^‰^˜DŸM™MÓ *ˆä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×ј˜VŸ^™^¨D¯M©MÓ:Õ;rcó„—|jttj|jtj
d¬«y)NÚ test12345678r)Ú assertRaisesÚ    TypeErrorrrrr!©r's rÚtest_nonce_must_be_bytesz!EaxTests.test_nonce_must_be_bytesWs,€Ø ×Ñœ)¤S§W¡W¨d¯l©l¼C¿L¹LØ /ð    õ    1rcóR—|jttj|jtj
d¬«t dd«D]X}tj|jtj
td«|z¬«}|jtd««ŒZy)Nrréé€)    r7Ú
ValueErrorrrrr!Úrangerr#)r'Úxr(s   rÚtest_nonce_lengthzEaxTests.test_nonce_length[su€à ×Ñœ*¤c§g¡g¨t¯|©|¼S¿\¹\Ø #ð    ô    %ôq˜#“ò    $ˆAÜ—W‘W˜TŸ\™\¬3¯<©<¼tÀA»wȹ{ÔKˆFØ N‰Nœ4 ›7Õ #ñ    $rcó̗tj|jtj|j¬«}|j |j tj «y©Nr)rrrr!r"r%Ú
block_size©r'r(s  rÚtest_block_size_128zEaxTests.test_block_size_128ds:€Ü—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×ј×*Ñ*¬C¯N©NÕ;rcó̗tj|jtj|j
¬«}|j |jtj«yrC)r    rrrr!r"r%rDrEs  rÚtest_block_size_64zEaxTests.test_block_size_64hs:€Ü—‘˜$Ÿ,™,¬¯ © ¸D¿M¹MÔJˆØ ×ј×*Ñ*¬D¯O©OÕ<rcóþ—tj|jtj|j¬«}|j |j |j«tj|jtj«j }tj|jtj«j }|j t|«d«|j||«y)Nrr)    rrrr!r"r%rr0r1)r'r(r2r3s    rÚtest_nonce_attributezEaxTests.test_nonce_attributelsš€Ü—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×јŸ™ t§}¡}Ô5ô—‘˜Ÿ™¤s§|¡|Ó4×:Ñ:ˆÜ—‘˜Ÿ™¤s§|¡|Ó4×:Ñ:ˆØ ×Ñœ˜V› bÔ)Ø ×јF FÕ+rcó¤—|jttj|jtj
|j d«|jttj|jtj
|j d¬«tj|jtj
|j d¬«y)Né)rÚunknownF)rÚ    use_aesni)r7r8rrrr!r"r9s rÚtest_unknown_parametersz EaxTests.test_unknown_parametersvs€€Ø ×Ñœ)¤S§W¡W¨d¯l©l¼C¿L¹LØŸ-™-¨ô    ,à ×Ñœ)¤S§W¡W¨d¯l©l¼C¿L¹LØ $§ ¡ °qð    ô    :ô
     ‰— ‘ œcŸl™l°$·-±-Øö    !rcóΗdD]`}tj|jtj|j¬«}t ||«d«}|j |d«Œby)N©r#r$rr)rrrr!r"Úgetattrr%)r'Úfuncr(Úresults    rÚtest_null_encryption_decryptionz(EaxTests.test_null_encryption_decryptionsR€Ø(ò    *ˆDÜ—W‘W˜TŸ\™\¬3¯<©<¸t¿}¹}ÔMˆFØ*”W˜V TÓ*¨3Ó/ˆFØ × Ñ ˜V SÕ )ñ    *rcó´—tj|jtj|j¬«}|j d«|j t|jd«tj|jtj|j¬«}|jd«|j t|j
d«y)Nrr)    rrrr!r"r#r7r8r$rEs  rÚtest_either_encrypt_or_decryptz'EaxTests.test_either_encrypt_or_decrypt‡s‚€Ü—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ‰sÔØ ×Ñœ) V§^¡^°SÔ9ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ‰sÔØ ×Ñœ) V§^¡^°SÕ9rcóp—tj|jtj|j¬«}|j t |jd«tj|jtj|j¬«}|j t |jd«y)Nrztest1234567890-*)    rrrr!r"r7r8r#r$rEs  rÚtest_data_must_be_bytesz EaxTests.test_data_must_be_bytessl€Ü—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×Ñœ) V§^¡^Ð5HÔIä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×Ñœ) V§^¡^Ð5HÕIrcó —|jttj|jtj
|j d¬«|jttj|jtj
|j d¬«tdd«D]v}tj|jtj
|j |¬«}|j|j«\}}|jt|«|«Œxtj|jtj
|j ¬«}|j|j«\}}|jt|«d«y)Nr<)rÚmac_lenéérr) r7r>rrrr!r"r?Úencrypt_and_digestrr%r0)r'r[r(Ú_Úmacs     rÚ test_mac_lenzEaxTests.test_mac_len—s€à ×Ñœ*¤c§g¡g¨t¯|©|¼S¿\¹\Ø $§ ¡ °sð    ô    <à ×Ñœ*¤c§g¡g¨t¯|©|¼S¿\¹\Ø $§ ¡ °tð    ô    =ô˜Q Ó'ò    0ˆGÜ—W‘W˜TŸ\™\¬3¯<©<¸t¿}¹}Ø%,ô.ˆFà×.Ñ.¨t¯}©}Ó=‰FˆAˆsØ × Ñ œS ›X wÕ /ð        0ô—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ×*Ñ*¨4¯=©=Ó9‰ˆˆ3Ø ×Ñœ˜S› 2Õ&rcóŠ—ddlm}tj|jtj
|j ¬«}|j|j«\}}||d«}tj|jtj
|j ¬«}|jt|j||«y)Nr)Ústrxor_crr<) ÚCrypto.Util.strxorrcrrrr!r"r^rr7r>Údecrypt_and_verify)r'rcr(r*r`Ú invalid_macs      rÚtest_invalid_maczEaxTests.test_invalid_macªs‚€Ý/Ü—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ×+Ñ+¨D¯M©MÓ:‰ˆˆCá˜s DÓ)ˆ ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×Ñœ* f×&?Ñ&?ÀØ%õ    'rcó€—tj|jtj|j¬«}|j «}|j |j«t|««tj|jtj|j¬«}|j|«yrC)
rrrr!r"Ú    hexdigestr%ÚdigestrÚ    hexverify)r'r(Úmac_hexs   rÚ test_hex_maczEaxTests.test_hex_macµsu€Ü—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ×"Ñ"Ó$ˆØ ×јŸ™›¬)°GÓ*<Ô=ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ×јÕ!rcó²—tdd«}tdd«}tj|jtj|j
¬«}|j |«|j|«\}}d„}dD]¢}tj|jtj|j
¬«}|||«D]}|j |«Œd}    |||«D]}|    |j|«z }    Œ|j||    «|j|«Œ¤dD]±}tj|jtj|j
¬«}|||«D]}|j |«Œd}
|||«D]}|
|j|«z }
Œ|j||
«|j|j«|«Œ³y)Nzauthenticated dataér rcó`—tdt|«|«Dcgc]
}||||z‘Œ c}Scc}w)Nr)r?r0)r Ú chunk_lengthÚis   rÚbreak_upz.EaxTests.test_message_chunks.<locals>.break_upÈs9€Ü49¸!¼SÀ»YØ ó5"ö#¨qD˜˜1˜\™>Ò*ò#ð #ùò#s™+)
r<r]érLé
é ré(éPr=r) rrrrr!r"Úupdater^r$r%Úverifyr#rj) r'Ú    auth_datar r(Ú
ciphertextÚref_macrsrqÚchunkr+Úct2s            rÚtest_message_chunkszEaxTests.test_message_chunks½s£€ô#Ð#7¸Ó=ˆ    Ü" ;°Ó4ˆ    ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ‰ iÔ Ø$×7Ñ7¸    ÓBш
Gò    #ð
@ò
    #ˆLä—W‘W˜TŸ\™\¬3¯<©<¸t¿}¹}ÔMˆFá! )¨\Ó:ò %Ø— ‘ ˜eÕ$ð %àˆCÙ! *¨lÓ;ò -Øv—~‘~ eÓ,Ñ,‘ð -à × Ñ ˜Y¨Ô ,Ø M‰M˜'Õ "ð
    #ð@ò
    7ˆLä—W‘W˜TŸ\™\¬3¯<©<¸t¿}¹}ÔMˆFá! )¨\Ó:ò %Ø— ‘ ˜eÕ$ð %àˆCÙ! )¨\Ó:ò -Øv—~‘~ eÓ,Ñ,‘ð -à × Ñ ˜Z¨Ô -Ø × Ñ ˜VŸ]™]›_¨gÕ 6ñ
    7rcóÖ—t|j«}t|j«}t|j«}t|j«}t    j
|jtj |j¬«}|j|j«|j|j«}|j«}t    j
|tj |¬«}d|ddd|dd|j|«d|dd|j|«}    d|dd|j«}
|j||    «|j||
«|j|j|j«t|j«}t|j«}t|j«}t|«} t|«} ~t    j
|tj |¬«} d|ddd|dd| j|«d|dd| j| «}d| dd| j| «|j||j«y©Nrsÿÿÿrts™™™)Ú    bytearrayrr"rrrr!ryr#rjr%rr$rz)r'Úkey_baÚnonce_baÚ    header_baÚdata_baÚcipher1r*rÚcipher2Úct_testÚtag_testÚct_baÚtag_baÚcipher3Úpt_tests               rÚtest_bytearrayzEaxTests.test_bytearrayæs÷€ô˜4Ÿ<™<Ó(ˆÜ˜TŸ]™]Ó+ˆÜ˜dŸm™mÓ,ˆ    Ü˜DŸM™MÓ*ˆä—'‘'˜$Ÿ,™,ÜŸ,™,Ø $§ ¡ ô/ˆð    ‰t—}‘}Ô%Ø _‰_˜TŸ]™]Ó +ˆØn‰nÓˆä—'‘'˜&ÜŸ,™,Ø (ô*ˆð%ˆˆrˆ
Ø&ˆ!ˆ ؏‰yÔ!Ø'ˆ    "1ˆ Ø—/‘/ 'Ó*ˆØ%ˆˆ Ø—>‘>Ó#ˆà ×ј˜WÔ%Ø ×ј˜hÔ'Ø ×јŸ™¨¯ © Ô6ô˜4Ÿ<™<Ó(ˆÜ˜TŸ]™]Ó+ˆÜ˜dŸm™mÓ,ˆ    Ü˜"“ ˆÜ˜3“ˆØ ä—'‘'˜&ÜŸ,™,Ø (ô*ˆð%ˆˆrˆ
Ø&ˆ!ˆ ؏‰yÔ!Ø'ˆ    "1ˆ Ø—/‘/ %Ó(ˆØ#ˆˆbˆqˆ    Ø‰vÔà ×ј $§-¡-Õ0rcóx—tt|j««}tt|j««}tt|j««}tt|j««}t j |jt
j|j¬«}|j|j«|j|j«}|j«}t j |t
j|¬«}d|ddd|dd|j|«d|dd|j|«}    d|dd|j«}
|j||    «|j||
«|j|j|j«tt|j««}tt|j««}tt|j««}tt|««} tt|««} ~t j |t
j|¬«} d|ddd|dd| j|«d|dd| j| «}d| dd| j| «|j||j«yr‚)Ú
memoryviewrƒrr"rrrr!ryr#rjr%rr$rz)r'Úkey_mvÚnonce_mvÚ    header_mvÚdata_mvrˆr*rr‰rŠr‹Úct_mvÚtag_mvrŽrs               rÚtest_memoryviewzEaxTests.test_memoryviews$€ôœI d§l¡lÓ3Ó4ˆÜœi¨¯ © Ó6Ó7ˆÜœy¨¯©Ó7Ó8ˆ    ÜœY t§}¡}Ó5Ó6ˆä—'‘'˜$Ÿ,™,ÜŸ,™,Ø $§ ¡ ô/ˆð    ‰t—}‘}Ô%Ø _‰_˜TŸ]™]Ó +ˆØn‰nÓˆä—'‘'˜&ÜŸ,™,Ø (ô*ˆð%ˆˆrˆ
Ø&ˆ!ˆ ؏‰yÔ!Ø'ˆ    "1ˆ Ø—/‘/ 'Ó*ˆØ%ˆˆ Ø—>‘>Ó#ˆà ×ј˜WÔ%Ø ×ј˜hÔ'Ø ×јŸ™¨¯ © Ô6ôœI d§l¡lÓ3Ó4ˆÜœi¨¯ © Ó6Ó7ˆÜœy¨¯©Ó7Ó8ˆ    Üœ9 R›=Ó)ˆÜœI c›NÓ+ˆØ ä—'‘'˜&ÜŸ,™,Ø (ô*ˆð%ˆˆrˆ
Ø&ˆ!ˆ ؏‰yÔ!Ø'ˆ    "1ˆ Ø—/‘/ %Ó(ˆØ#ˆˆbˆqˆ    Ø‰vÔà ×ј $§-¡-Õ0rcóˆ—d}tj|jtj|j¬«}|j |«}|j «}td«}tj|jtj|j¬«}|j ||¬«}|j||«|j|d«tj|jtj|j¬«}|j||¬«}|j||«|j|d«tj|jtj|j¬«}|j||¬«\}}|j||«|j|d«|j||«tj|jtj|j¬«}|j|||¬«}|j||«|j|d«y©Ns€55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555rr=©Úoutput) rrrr!r"r#rjrƒr%r$r^re)r'r)r(r*rrÚresÚtag_outs        rÚtest_output_paramzEaxTests.test_output_paramLs£€à ˆÜ—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ^‰^˜BÓ ˆØm‰m‹oˆä˜3“ˆÜ—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØn‰n˜R¨ˆnÓ/ˆØ ×ј˜VÔ$Ø ×ј˜dÔ#ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØn‰n˜R¨ˆnÓ/ˆØ ×ј˜VÔ$Ø ×ј˜dÔ#ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ×0Ñ0°¸FÐ0ÓC‰ ˆˆWØ ×ј˜VÔ$Ø ×ј˜dÔ#Ø ×ј˜gÔ&ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ×'Ñ'¨¨C¸Ð'Ó?ˆØ ×ј˜VÔ$Ø ×ј˜dÕ#rcóB—d}tj|jtj|j¬«}|j |«}t td««}tj|jtj|j¬«}|j ||¬«|j||«tj|jtj|j¬«}|j||¬«|j||«yr›)
rrrr!r"r#r’rƒr%r$)r'r)r(r*rs     rÚtest_output_param_memoryviewz%EaxTests.test_output_param_memoryviewis½€à ˆÜ—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ^‰^˜BÓ ˆäœI c›NÓ+ˆÜ—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ‰r &ˆÔ)Ø ×ј˜VÔ$ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ‰r &ˆÔ)Ø ×ј˜VÕ$rcó¸—d}d|z}tj|jtj|j¬«}|j |«}tj|jtj|j¬«}|j t|j
|d|z¬«tj|jtj|j¬«}|j t|j|d|z¬«t|dz
«}tj|jtj|j¬«}|j t|j
||¬«tj|jtj|j¬«}|j t|j||¬«y)Nró5ró0rœr<) rrrr!r"r#r7r8r$rƒr>)r'ÚLEN_PTr)r(r*Úshorter_outputs      rÚtest_output_param_negzEaxTests.test_output_param_negxs6€Øˆà F‰]ˆÜ—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ^‰^˜BÓ ˆä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×Ñœ) V§^¡^°RÀÀvÁ ÐÔNä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×Ñœ) V§^¡^°RÀÀvÁ ÐÔNä" 6¨A¡:Ó.ˆÜ—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×Ñœ* f§n¡n°bÀÐÔPÜ—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×Ñœ* f§n¡n°bÀÐÕPrN)Ú__name__Ú
__module__Ú __qualname__rrrr"rr,r.r4r:rArFrHrJrOrUrWrYrargrmr€rr™r r¢r¨©rrrr/s „á˜Y¨Ó+€GÙ˜Y¨Ó+€GÙ˜k¨2Ó.€HÙ˜j¨"Ó-€Hò"ò"ò <ò1ò$ò<ò=ò,ò    !ò*ò :òJò'ò&    'ò"ò'7òR11òf11òf$ò: %óQrrcó„—eZdZedd«Zedd«Zedd«Zd„Zd„Zd„Z    d    „Z
d
„Z d „Z d „Z d „Zd„Zd„Zd„Zy)Ú EaxFSMTestsrrrrrcó†—tj|jtj|j¬«}|j |j «}|j«}tj|jtj|j¬«}|j|«|j|«yrC)
rrrr!r"r#rrjr$rz©r'r(r*r`s    rÚ-test_valid_init_encrypt_decrypt_digest_verifyz9EaxFSMTests.test_valid_init_encrypt_decrypt_digest_verify’s}€ô—‘˜Ÿ™¤s§|¡|Ø#Ÿ}™}ô.ˆà ^‰^˜DŸM™MÓ *ˆØm‰m‹oˆô—‘˜Ÿ™¤s§|¡|Ø#Ÿ}™}ô.ˆà‰rÔØ ‰ cÕrcóš—tj|jtj|j¬«}|j |j «|j«}tj|jtj|j¬«}|j |j «|j|«yrC)    rrrr!r"ryrrjrz©r'r(r`s   rÚ$test_valid_init_update_digest_verifyz0EaxFSMTests.test_valid_init_update_digest_verify s€ô—‘˜Ÿ™¤s§|¡|Ø#Ÿ}™}ô.ˆà ‰ d—m‘mÔ$؏m‰m‹oˆô—‘˜Ÿ™¤s§|¡|Ø#Ÿ}™}ô.ˆà ‰ d—m‘mÔ$؏ ‰ cÕrcóò—tj|jtj|j¬«}|j |j «|j|j «}|j«}tj|jtj|j¬«}|j |j «|j|«|j|«yrC) rrrr!r"ryrr#rjr$rzr°s    rÚtest_valid_full_pathz EaxFSMTests.test_valid_full_path®s€ô—‘˜Ÿ™¤s§|¡|Ø#Ÿ}™}ô.ˆà ‰ d—m‘mÔ$Ø ^‰^˜DŸM™MÓ *ˆØm‰m‹oˆô—‘˜Ÿ™¤s§|¡|Ø#Ÿ}™}ô.ˆà ‰ d—m‘mÔ$؏‰rÔØ ‰ cÕrcó˜—tj|jtj|j¬«}|j «yrC)rrrr!r"rjrEs  rÚtest_valid_init_digestz"EaxFSMTests.test_valid_init_digest¾s)€ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ‰ rcó.—tj|jtj|j¬«}|j «}tj|jtj|j¬«}|j |«yrC)rrrr!r"rjrzr³s   rÚtest_valid_init_verifyz"EaxFSMTests.test_valid_init_verifyÃsU€ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØm‰m‹oˆä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ‰ cÕrcó¸—dD]Õ}dd|j|jdzfD]³}|€d}n t|«}tj|jtj
|j ¬«}||j|«t||«}||j«||j«||j«||j«ŒµŒ×y)NrQs333ó3r)    rr0rrrr!r"ryrR)r'Ú method_namer{Ú    assoc_lenr(Úmethods      rÚ&test_valid_multiple_encrypt_or_decryptz2EaxFSMTests.test_valid_multiple_encrypt_or_decryptËs¼€Ø/ò    &ˆKØ" F¨D¯M©MØ"Ÿm™m¨dÑ2ð4ò &    àÐ$Ø $‘Iä # I£IÜŸ™ §¡¬s¯|©|Ø'+§}¡}ô6àÐ(Ø—M‘M )Ô,Ü  ¨Ó5Ùt—}‘}Ô%ِt—}‘}Ô%ِt—}‘}Ô%ِt—}‘}Õ%ñ &ñ    &rcó—tj|jtj|j¬«}|j |j «|j«}td«D]"}|j||j««Œ$tj|jtj|j¬«}|j |j «td«D]}|j|«Œy)Nréé) rrrr!r"ryrrjr?r%rz)r'r(Ú    first_macr@s    rÚ$test_valid_multiple_digest_or_verifyz0EaxFSMTests.test_valid_multiple_digest_or_verifyÝs³€ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ‰ d—m‘mÔ$Ø—M‘M“Oˆ    Üq“ò    9ˆAØ × Ñ ˜Y¨¯ © «Õ 8ð    9ô—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ‰ d—m‘mÔ$ܐq“ò    %ˆAØ M‰M˜)Õ $ñ    %rcóð—tj|jtj|j¬«}|j |j «|j|j «\}}tj|jtj|j¬«}|j |j «|j||«}|j|j |«yrC)
rrrr!r"ryrr^rer%)r'r(r*r`r)s     rÚ0test_valid_encrypt_and_digest_decrypt_and_verifyz<EaxFSMTests.test_valid_encrypt_and_digest_decrypt_and_verifyësž€ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ‰ d—m‘mÔ$Ø×+Ñ+¨D¯M©MÓ:‰ˆˆCô—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ‰ d—m‘mÔ$Ø × &Ñ & r¨3Ó /ˆØ ×јŸ™¨Õ+rc    ób—dD]ª\}}dD] }tj|jtj|j¬«}|r|j |j «t||«|j «|jtt||«|j «Œ¢Œ¬y)N)rQ)r$r#)TFr)
rrrr!r"ryrrRr7r8)r'Ú method1_nameÚ method2_nameÚassoc_data_presentr(s     rÚ#test_invalid_mixing_encrypt_decryptz/EaxFSMTests.test_invalid_mixing_encrypt_decrypt÷s’€ð+Cò        1Ñ &ˆL˜,à&3ò 1Ð"ÜŸ™ §¡¬s¯|©|Ø'+§}¡}ô6á%Ø—M‘M $§-¡-Ô0Ø-”˜  Ó-¨d¯m©mÔ<Ø×!Ñ!¤)¬W°V¸\Ó-JØ"&§-¡-õ1ñ  1ñ        1rcóÜ—dD]ç}tj|jtj|j¬«}|j |j «|j«|jtt||«|j «tj|jtj|j¬«}|j|j «Œéy)N)r#ryr) rrrr!r"r#rrjr7r8rRr^)r'r½r(s   rÚ+test_invalid_encrypt_or_update_after_digestz7EaxFSMTests.test_invalid_encrypt_or_update_after_digestsš€Ø.ò    5ˆKÜ—W‘W˜TŸ\™\¬3¯<©<¸t¿}¹}ÔMˆFØ N‰N˜4Ÿ=™=Ô )Ø M‰MŒOØ × Ñ œi¬°¸Ó)EØ"Ÿm™mô -ô—W‘W˜TŸ\™\¬3¯<©<¸t¿}¹}ÔMˆFØ × %Ñ % d§m¡mÕ 4ñ    5rcóÜ—tj|jtj|j¬«}|j |j «}|j«}dD]}tj|jtj|j¬«}|j|«|j|«|jtt||«|j «tj|jtj|j¬«}|j||«|jtt||«|j «Œy)Nr)r$ry)rrrr!r"r#rrjr$rzr7r8rRre)r'r(r*r`r½s     rÚ+test_invalid_decrypt_or_update_after_verifyz7EaxFSMTests.test_invalid_decrypt_or_update_after_verifysò€Ü—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ^‰^˜DŸM™MÓ *ˆØm‰m‹oˆà.ó
    -ˆKÜ—W‘W˜TŸ\™\¬3¯<©<¸t¿}¹}ÔMˆFØ N‰N˜2Ô Ø M‰M˜#Ô Ø × Ñ œi¬°¸Ó)EØ"Ÿm™mô -ô—W‘W˜TŸ\™\¬3¯<©<¸t¿}¹}ÔMˆFØ × %Ñ % b¨#Ô .Ø × Ñ œi¬°¸Ó)EØ"Ÿm™mö -ñ
    -rN)r©rªr«rrr"rr±r´r¶r¸rºrÀrÅrÇrÌrÎrÐr¬rrr®r®Œs]„á˜Y¨Ó+€GÙ˜k¨2Ó.€HÙ˜j¨"Ó-€Hò ò òò ò
ò&ò$ %ò
,ò 1ò    5ó-rr®c ó’—eZdZdZgd¢ZeDcgc]}|Dcgc] }t |«‘Œc}‘Œc}}}}Zd„Zycc}wcc}}}}w)ÚTestVectorsPaperzgClass exercising the EAX test vectors found in
       http://www.cs.ucdavis.edu/~rogaway/papers/eax.pdf)
)Ú6bfb914fd07eae6bÚrÔÚ e037830e8389f27b025a2d6527e79d01Ú 233952dee4d5ed5f9b9c6d6ff80ff478Ú 62EC67F9C3A4A407FCB2A8C49031A8B3)Úfa3bfd4806eb53faÚf7fbÚ19ddÚ 5c4c9331049d0bdab0277408f67967e5Ú 91945d3f4dcbee0bf45ef52255f095a4Ú BECAF043B0A23D843194BA972C66DEBD)Ú234a3463c1264ac6Ú
1a47cb4933Ú
d851d5bae0Ú 3a59f238a23e39199dc9266626c40f80Ú 01f74ad64077f2e704c0f60ada3dd523Ú 70C3DB4F0D26368400A10ED05D2BFF5E)Ú33cce2eabff5a79dÚ
481c9e39b1Ú
632a9d131aÚ d4c168a4225d8e1ff755939974a7bedeÚ d07cf6cbb7f313bdde66b727afd3c5e8Ú 8408DFFF3C1A2B1292DC199E46B7D617)Úaeb96eaebe2970e9Ú 40d0c07da5e4Ú 071dfe16c675Ú cb0677e536f73afe6a14b74ee49844ddÚ 35b6d0580005bbc12b0587124557d2c2Ú FDB6B06676EEDC5C61D74276E1F8E816)Úd4482d1ca78dce0fÚ4de3b35c3fc039245bd1fb7dÚ835bb4f15d743e350e728414Ú abb8644fd6ccb86947c5e10590210a4fÚ bd8e6e11475e60b268784c38c62feb22Ú 6EAC5C93072D8E8513F750935E46DA1B)Ú65d2017990d62528Ú"8b0a79306c9ce7ed99dae4f87f8dd61636Ú"02083e3979da014812f59f11d52630da30Ú 137327d10649b0aa6e1c181db617d7f2Ú 7c77d6e813bed5ac98baa417477a2e7dÚ 1A8C98DCD73D38393B2BF1569DEEFC19)Ú54b9f04e6a09189aÚ$1bda122bce8a8dbaf1877d962b8592dd2d56Ú$2ec47b2c4954a489afc7ba4897edcdae8cc3Ú 3b60450599bd02c96382902aef7f832aÚ 5fff20cafab119ca2fc73549e20f5b0dÚ DDE59B97D722156D4D9AFF2BC7559826)Ú899a175897561d7eÚ$6cf36720872b8513f6eab1a8a44438d5ef11Ú$0de18fd0fdd91e7af19f1d8ee8733938b1e8Ú e7f6d2231618102fdb7fe55ff1991700Ú a4a4782bcffd3ec5e7ef6d8c34a56123Ú B781FCF2F75FA5A8DE97A9CA48E522EC)Ú126735fcc320d25aÚ*ca40d7446e545ffaed3bd12a740a659ffbbb3ceab7Ú*cb8920f87a6c75cff39627b56e3ed197c552d295a7Ú cfc46afc253b4652b1af3795b124ab6eÚ 8395fcf1e95bebd697bd010bc766aac3Ú 22E7ADD93CFC6393C57EC0B3C17D6B44c    óð—|jD]ç\}}}}}}tj|tj|t    |«¬«}|j |«|j |«\}}    |j||«|j||    «tj|tj|t    |«¬«}|j |«|j||«}
|j||
«Œéy)N©r[)    Ú test_vectorsrrr!r0ryr^r%re) r'Ú
assoc_datar)r*r`Úkeyrr(rÚmac2r+s            rÚrunTestzTestVectorsPaper.runTestxs̀Ø37×3DÑ3Dò     &Ñ /ˆJ˜˜B  S¨%ä—W‘W˜S¤#§,¡,°¼sÀ3»xÔHˆFØ M‰M˜*Ô %Ø×1Ñ1°"Ó5‰IˆCØ × Ñ ˜R Ô %Ø × Ñ ˜S $Ô 'ô—W‘W˜S¤#§,¡,°¼sÀ3»xÔHˆFØ M‰M˜*Ô %Ø×+Ñ+¨B°Ó4ˆCØ × Ñ ˜R Õ %ñ     &rN)r©rªr«Ú__doc__Útest_vectors_hexrrr)Ú.0Útvr@rs0000rrÒrÒ!sC„ñ<òOÐðb:J×JÑJ°2¨2Ö. a”Y˜q•\Ô.ÕJ€Ló &ùò/ùÕJs’    A
›<­A
¼A
rÒcó<—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
y    )
ÚTestVectorsWycheproofcó^—tjj|«||_d|_y)NÚNone)ÚunittestÚTestCaseÚ__init__Ú_wycheproof_warningsÚ_id)r'Úwycheproof_warningss  rrzTestVectorsWycheproof.__init__Šs%€Ü×Ñ×"Ñ" 4Ô(Ø$7ˆÔ!؈rcó6—d„}tdddd|i¬«|_y)Ncó—|ddzS)NÚtagSizeér¬)Úgroups rÚ
filter_tagz/TestVectorsWycheproof.setUp.<locals>.filter_tag‘s€Ø˜Ñ# qÑ(Ð (r)ÚCipherÚ
wycheproofzaes_eax_test.jsonzWycheproof EAXÚtag_size)Ú    group_tag)rr)r'r(s  rÚsetUpzTestVectorsWycheproof.setUps'€ò    )ô/Ð/GØ/BØ/?Ø:DÀjÐ9QôSˆrcó—|jS©N)r!r9s rÚshortDescriptionz&TestVectorsWycheproof.shortDescription™s €Øx‰xˆrcó˜—|jr>|jr1ddl}|jd|j›d|j
›d«yyy)NrzWycheproof warning: z (ú))Úwarningr ÚwarningsÚwarnr!Úcomment)r'rr4s   rr5zTestVectorsWycheproof.warnœs4€Ø :Š:˜$×3Ò3Û Ø MŠM¸4¿8»8ÀRÇZÃZÐPÕ Qð4ˆ:rcób—dt|j«z|_    tj|j
tj |j|j¬«}|j|j«|j|j«\}}|jrJ|j!||j"«|j!||j$«|j'|«yy#t$r1}t|j«dk(r dt|«vsJ‚Yd}~yd}~wwxYw)NzWycheproof Encrypt EAX Test #rrúNonce cannot be empty)ÚstrÚidr!rrrr!Úivr+r>r0ryÚaadr^ÚmsgÚvalidr%r*rr5)r'rr(Úer*rs      rÚ test_encryptz"TestVectorsWycheproof.test_encrypt¡sހØ2´S¸¿¹³ZÑ?ˆŒð    Ü—W‘W˜RŸV™V¤S§\¡\°2·5±5À"Ç+Á+ÔNˆFð
     ‰ b—f‘fÔØ×+Ñ+¨B¯F©FÓ3‰ˆˆCØ 8Š8Ø × Ñ ˜R §¡Ô 'Ø × Ñ ˜S "§&¡&Ô )Ø I‰IbMð øô ò    Ür—u‘u“: ’?Ð'>Ä#ÀaÃ&Ñ'HÐ HÐHÜ ûð    úsŸAC4Ã4    D.Ã='D)Ä)D.cóx—dt|j«z|_    tj|j
tj |j|j¬«}|j|j«    |j|j|j«}|j sJ‚|j#||j$«|j'|«y#t$r1}t|j«dk(r dt|«vsJ‚Yd}~yd}~wwxYw#t$r|j rJ‚YywxYw)NzWycheproof Decrypt EAX Test #rrr8)r9r:r!rrrr!r;r+r>r0ryr<rer*rr>r%r=r5)r'rr(r?r)s     rÚ test_decryptz"TestVectorsWycheproof.test_decrypt±sð€Ø2´S¸¿¹³ZÑ?ˆŒð    Ü—W‘W˜RŸV™V¤S§\¡\°2·5±5À"Ç+Á+ÔNˆFð
     ‰ b—f‘fÔð    Ø×*Ñ*¨2¯5©5°"·&±&Ó9ˆBð—8’8ˆO8Ø × Ñ ˜R §¡Ô (Ø I‰IbMøôò    Ür—u‘u“: ’?Ð'>Ä#ÀaÃ&Ñ'HÐ HÐHÜ ûð    ûôò     Ø—x’xÐ <‘xð     ús*ŸAC"Â&DÃ"    DÃ+'DÄDÄD9Ä8D9có—dt|j«z|_t|j«dk(st|j
«dkryt j|jt j|j|j¬«}|j|j«t|j
dt|j
«dz
zdz«}|jt|j ||j"«y)Nz%Wycheproof Corrupt Decrypt EAX Test #rr<róó)r9r:r!r0r;r*rrrr!r+ryr<r r7r>rer)r'rr(Ú
ct_corrupts    rÚtest_corrupt_decryptz*TestVectorsWycheproof.test_corrupt_decryptÄs®€Ø:¼SÀÇÁ»ZÑGˆŒÜ ˆru‰u‹:˜Š?œc "§%¡%›j¨1šnØ Ü—‘˜Ÿ™¤§¡¨r¯u©u¸b¿k¹kÔJˆØ ‰ b—f‘fÔܘBŸE™E 7¬c°"·%±%«j¸1©nÑ#=ÀÑ#GÓHˆ
Ø ×Ñœ* f×&?Ñ&?ÀÈRÏVÉVÕTrcóŒ—|jD]5}|j|«|j|«|j|«Œ7yr/)rr@rBrG)r'rs  rrzTestVectorsWycheproof.runTestÍs?€à—'‘'ò    *ˆBØ × Ñ ˜bÔ !Ø × Ñ ˜bÔ !Ø × %Ñ % bÕ )ñ    *rN) r©rªr«rr-r0r5r@rBrGrr¬rrrrˆs-„òò
SòòRò
ò ò&Uó*rrcó—eZdZed„«Zy)ÚTestOtherCipherscó0—||fd„}t|d|z|«y)Ncó—|jtd|«|jd¬«}|jd«\}}|jtd|«|jd¬«}|j    ||«}|j d|«y)Nr(snoncers    plaintext)rrr!r^rer%)r'ÚfactoryÚkey_sizer(r*r`r+s       rÚ test_templatez3TestOtherCiphers.create_test.<locals>.test_templateÚsŒ€Ø—[‘[¤°¸(Ó!CØ!(×!1Ñ!1Ø'/ð!ó1ˆFð×/Ñ/° Ó=‰GˆBà—[‘[¤°¸(Ó!CØ!(×!1Ñ!1Ø'/ð!ó1ˆFð×+Ñ+¨B°Ó4ˆCà × Ñ ˜\¨3Õ /rÚtest_)Úsetattr)ÚclsÚnamerMrNrOs     rÚ create_testzTestOtherCiphers.create_test×s €ð)0¸(ó     0ô    W˜t‘^ ]Õ3rN)r©rªr«Ú classmethodrTr¬rrrJrJÕs„àñ4óñ4rrJ)ÚDESr    ÚARC2ÚCASTÚBlowfishÚDES_ÚDES3_ÚARC2_ÚCAST_Ú    Blowfish_cóҗ|jd«}g}|tt«z }|tt«z }|t    «gz }|t |«gz }|tt «z }|S)Nr")Úgetrrr®rÒrrJ)Úconfigr"Útestss   rÚ    get_testsrc÷so€Ø Ÿ*™*Ð%:Ó;Ðà €EØ    Œ_œXÓ &Ñ&€EØ    Œ_œ[Ó )Ñ)€EØ    ÔÓ!Ð #Ñ#€EØ    Ô$Ð%8Ó9Ð ;Ñ;€EØ    Œ_Ô-Ó .Ñ.€EØ €LrÚ__main__có<—tjt««Sr/)rÚ    TestSuitercr¬rrú<lambda>rgs€”H×&Ñ&¤y£{Ó3€rÚsuite)Ú defaultTest)$rÚbinasciirÚCrypto.SelfTest.st_commonrÚCrypto.SelfTest.loaderrÚCrypto.Util.py3compatrrÚ Crypto.Cipherrr    Ú Crypto.Hashr
rdr rrrr®rÒrrJrVrWrXrYrTr9rNÚksrcr©rhÚmainr¬rrú<module>rrs ðó>Ýå5Ý?ß/ß#Ý å%ò8ôZQˆx× Ñ ôZQôz
R-(×#Ñ#ôR-ôjd&x×(Ñ(ôd&ôNJ*˜H×-Ñ-ôJ*ôZ4x×(Ñ(ô4÷*:Õ9à×јV¡c¨#¯,©,Ó&7Ñ7¸¸c¿l¹lÔKØ
-‰-ò>€BØ× Ñ  ©3¨r«7Ñ!2°D¸"Õ=ð>à
-‰-ò>€BØ× Ñ  ©3¨r«7Ñ!2°D¸"Õ=ð>à
-‰-ò>€BØ× Ñ  ©3¨r«7Ñ!2°D¸"Õ=ð>à
òF€BØ× Ñ  ©s°2«wÑ!6¸À"ÕEðFðó    ð ˆzÒÙ 3€EØ€H‡MM˜gÖ&ðr