hyb
2026-01-30 44480e71b27aa9d4cb8441f50c873f1b110e9691
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
Ë
ž¬`išãó`—ddlZddlmZddlmZddlmZddlmZm    Z    ddl
m Z ddl m Z ddlmZdd    lmZd
„ZGd „d ej&«ZGd „dej&«ZGd„dej&«ZGd„dej&«Zifd„Zedk(rd„Zej6d¬«yy)éN)Ú    unhexlify)Úlist_test_cases)Úload_test_vectors_wycheproof)ÚtobytesÚbchr)ÚAES)ÚSHAKE128)Ústrxor)ÚCCMMessageTooLongErrorcó^—tjt|«¬«j|«S)N)Údata)r    ÚnewrÚread)ÚtagÚlengths  õrH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/Cipher/test_CCM.pyÚget_tag_randomr-s €Ü <‰<œW S›\Ô *× /Ñ /°Ó 7Ð7ócóҗeZdZedd«Zedd«Zedd«Zd„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„Zd„Zd„Zy) ÚCcmTestsÚkey_128éÚ    nonce_128é r é€cól—tj|jtj|j¬«}t dd«}|j |«}tj|jtj|j¬«}|j|«}|j||«y)N©ÚnonceÚ    plaintexti@)    rrrÚMODE_CCMÚnonce_96rÚencryptÚdecryptÚ assertEqual)ÚselfÚcipherÚptÚctÚpt2s     rÚtest_loopback_128zCcmTests.test_loopback_1287sv€Ü—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆÜ ˜K¨Ó 2ˆØ ^‰^˜BÓ ˆä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ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)Né r) rrrr rr$ÚlenÚassertNotEqualr!r"r )r%r&Únonce1Únonce2r(s     rÚ
test_noncezCcmTests.test_nonce@sӀä—‘˜Ÿ™¤s§|¡|Ó4ˆØ—‘ˆÜ—‘˜Ÿ™¤s§|¡|Ó4ˆØ—‘ˆØ ×Ñœ˜V› bÔ)Ø ×јF FÔ+ä—‘˜Ÿ™¤s§|¡|°T·]±]ÓCˆØ ^‰^˜DŸI™IÓ &ˆä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×ј˜VŸ^™^¨D¯I©IÓ6Õ7rcó„—|jttj|jtj
d¬«y)NÚ test12345678r)Ú assertRaisesÚ    TypeErrorrrrr ©r%s rÚtest_nonce_must_be_bytesz!CcmTests.test_nonce_must_be_bytesOs,€Ø ×Ñœ)¤S§W¡W¨d¯l©l¼C¿L¹LØ /ð    õ    1rc    óN—|jttj|jtj
d¬«|jttj|jtj
t d«dz¬«|jttj|jtj
t d«dz¬«tdd«D]>}tj|jtj
t d«|z¬«Œ@y)Nrréééé)r4Ú
ValueErrorrrrr rÚrange)r%Úxs  rÚtest_nonce_lengthzCcmTests.test_nonce_lengthSsȀØ ×Ñœ*¤c§g¡g¨t¯|©|¼S¿\¹\Ø #ð    ô    %à ×Ñœ*¤c§g¡g¨t¯|©|¼S¿\¹\Ü $ Q£¨!¡ ð    ô    -à ×Ñœ*¤c§g¡g¨t¯|©|¼S¿\¹\Ü $ Q£¨"¡ ð    ô    .äq˜&Ó!ò    CˆAÜ G‰GD—L‘L¤#§,¡,´d¸1³gÀ±kÖ Bñ    Crcó̗tj|jtj|j¬«}|j |j tj «y©Nr)rrrr r!r$Ú
block_size©r%r&s  rÚtest_block_sizezCcmTests.test_block_size]s:€Ü—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×ј×*Ñ*¬C¯N©NÕ;rcóþ—tj|jtj|j¬«}|j |j |j«tj|jtj«j }tj|jtj«j }|j t|«d«|j||«y)Nrr,)    rrrr r!r$rr-r.)r%r&r/r0s    rÚtest_nonce_attributezCcmTests.test_nonce_attributeasš€Ü—‘˜Ÿ™¤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)Nr<)rÚunknownF)rÚ    use_aesni)r4r5rrrr r!r6s rÚtest_unknown_parametersz CcmTests.test_unknown_parametersks€€Ø ×Ñœ)¤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(CcmTests.test_null_encryption_decryptionvsR€Ø(ò    *ˆ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"r4r5r#rDs  rÚtest_either_encrypt_or_decryptz'CcmTests.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!r4r5r"r#rDs  rÚtest_data_must_be_bytesz CcmTests.test_data_must_be_bytes…sl€Ü—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×Ñœ) V§^¡^Ð5HÔIä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×Ñœ) V§^¡^Ð5HÕIrc    ó°—tddd«D]M}|jttj|j
tj |j|¬«ŒOtddd«D]v}tj|j
tj |j|¬«}|j|j«\}}|jt|«|«Œxtj|j
tj |j¬«}|j|j«\}}|jt|«d«y)    Nééé)rÚmac_lenéérr) r>r4r=rrrr r!Úencrypt_and_digestr r$r-)r%rZr&Ú_Úmacs     rÚ test_mac_lenzCcmTests.test_mac_lenŒs€ä˜Q ¨Ó*ò    DˆGØ × Ñ œj¬#¯'©'°4·<±<ÄÇÁØ$(§M¡M¸7ð õ Dð    Dô
˜Q ¨Ó*ò    0ˆGÜ—W‘W˜TŸ\™\¬3¯<©<¸t¿}¹}Ø%,ô.ˆFà×.Ñ.¨t¯y©yÓ9‰FˆAˆsØ × Ñ œS ›X wÕ /ð        0ô—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ×*Ñ*¨4¯9©9Ó5‰ˆˆ3Ø ×Ñœ˜S› 2Õ&rcóŠ—ddlm}tj|jtj
|j ¬«}|j|j«\}}||d«}tj|jtj
|j ¬«}|jt|j||«y)Nr)Ústrxor_crr9) ÚCrypto.Util.strxorrbrrrr r!r]r r4r=Údecrypt_and_verify)r%rbr&r(r_Ú invalid_macs      rÚtest_invalid_maczCcmTests.test_invalid_macžs‚€Ý/Ü—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ×+Ñ+¨D¯I©IÓ6‰ˆˆCá˜s DÓ)ˆ ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×Ñœ* f×&?Ñ&?ÀØ%õ    'rcó€—tj|jtj|j¬«}|j «}|j |j«t|««tj|jtj|j¬«}|j|«yrB)
rrrr r!Ú    hexdigestr$ÚdigestrÚ    hexverify)r%r&Úmac_hexs   rÚ test_hex_maczCcmTests.test_hex_mac©su€Ü—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ×"Ñ"Ó$ˆØ ×јŸ™›¬)°GÓ*<Ô=ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ×јÕ!rcóˆ—tj|jtj|jd¬«}|j t |jd«tj|jtj|jd¬«}|j t |j|j«y)Nr©rÚ    assoc_lenó1é)    rrrr r!r4r=Úupdater rDs  rÚ$test_longer_assoc_data_than_declaredz-CcmTests.test_longer_assoc_data_than_declared±sz€ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=Ø#$ô&ˆà ×Ñœ* f§m¡m°TÔ:ô—‘˜Ÿ™¤s§|¡|¸4¿=¹=Ø#%ô'ˆà ×Ñœ* f§m¡m°T·Y±YÕ?rcóî—t|j«}tj|jtj
|j |dz¬«}|j|j«|jt|j|j«tj|jtj
|j |dz¬«}|j|j«|jt|j«tj|jtj
|j |dz¬«}|j|j«|jt|j|j«tj|jtj
|j ¬«}|j|j«|j«}tj|jtj
|j |dz¬«}|j|j«|jt|j|«y)Nr9rnr)r-r rrrr r!rrr4r=r"rir#Úverify)r%ÚDATA_LENr&r_s    rÚ%test_shorter_assoc_data_than_expectedz.CcmTests.test_shorter_assoc_data_than_expected¼sЀܐt—y‘y“>ˆô—‘˜Ÿ™¤s§|¡|¸4¿=¹=Ø#+¨a¡<ô1ˆà ‰ d—i‘iÔ Ø ×Ñœ* f§n¡n°d·i±iÔ@ô—‘˜Ÿ™¤s§|¡|¸4¿=¹=Ø#+¨a¡<ô1ˆà ‰ d—i‘iÔ Ø ×Ñœ* f§m¡mÔ4ô—‘˜Ÿ™¤s§|¡|¸4¿=¹=Ø#+¨a¡<ô1ˆà ‰ d—i‘iÔ Ø ×Ñœ* f§n¡n°d·i±iÔ@ô—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ‰ d—i‘iԠ؏m‰m‹oˆä—‘˜Ÿ™¤s§|¡|¸4¿=¹=Ø#+¨a¡<ô1ˆà ‰ d—i‘iÔ Ø ×Ñœ* f§m¡m°SÕ9rcóò—t|j«}tj|jtj
|j |dz¬«}|j|j«|jt|j«tj|jtj
|j |dz
¬«}|jt|j|j«y)Nr9©rÚmsg_len) r-r rrrr r!r"r4r=ri)r%rvr&s   rÚ/test_shorter_and_longer_plaintext_than_declaredz8CcmTests.test_shorter_and_longer_plaintext_than_declaredÛs›€Üt—y‘y“>ˆä—‘˜Ÿ™¤s§|¡|¸4¿=¹=Ø!)¨A¡ô/ˆà‰t—y‘yÔ!Ø ×Ñœ* f§m¡mÔ4ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=Ø!)¨A¡ô/ˆà ×Ñœ* f§n¡n°d·i±iÕ@rcó|—t|j«}tj|jtj
|j ¬«}|j|j«\}}tj|jtj
|j |dz¬«}|j|«|jt|j|«tj|jtj
|j |dz
¬«}|jt|j|«y)Nrr9ry) r-r rrrr r!r]r#r4r=ru)r%rvr&r(r_s     rÚ%test_shorter_ciphertext_than_declaredz.CcmTests.test_shorter_ciphertext_than_declaredçsˀܐt—y‘y“>ˆä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ×+Ñ+¨D¯I©IÓ6‰ˆˆCä—‘˜Ÿ™¤s§|¡|¸4¿=¹=Ø!)¨A¡ô/ˆà‰rÔØ ×Ñœ* f§m¡m°SÔ9ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=Ø!)¨A¡ô/ˆà ×Ñœ* f§n¡n°bÕ9rcóº—tdd«}tdd«}tj|jtj|j
¬«}|j |«|j|«\}}d„}dD]¤}tj|jtj|j
dd¬«}|||«D]}|j |«Œd}    |||«D]}|    |j|«z }    Œ|j||    «|j|«Œ¦dD]³}tj|jtj|j
dd¬«}|||«D]}|j |«Œd}
|||«D]}|
|j|«z }
Œ|j||
«|j|j«|«Œµy)    Nzauthenticated dataérrcó`—tdt|«|«Dcgc]
}||||z‘Œ c}Scc}w©Nr)r>r-)r Ú chunk_lengthÚis   rÚbreak_upz.CcmTests.test_message_chunks.<locals>.break_ups9€Ü49¸!¼SÀ»YØ ó5"ö#¨qD˜˜1˜\™>Ò*ò#ð #ùò#s™+)
r9rYrWr<é
é ré(éPr©rrzror) rrrrr r!rrr]r#r$rur"ri) r%Ú    auth_datarr&Ú
ciphertextÚref_macr„r‚Úchunkr)Úct2s            rÚtest_message_chunkszCcmTests.test_message_chunksösµ€ô#Ð#7¸Ó=ˆ    Ü" ;°Ó4ˆ    ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ‰ iÔ Ø$×7Ñ7¸    ÓBш
Gò    #ð
@ò     #ˆLä—W‘W˜TŸ\™\¬3¯<©<¸t¿}¹}Ø%(°Cô9ˆFñ" )¨\Ó:ò %Ø— ‘ ˜eÕ$ð %àˆCÙ! *¨lÓ;ò -Øv—~‘~ eÓ,Ñ,‘ð -à × Ñ ˜Y¨Ô ,Ø M‰M˜'Õ "ð     #ð@ò     7ˆLä—W‘W˜TŸ\™\¬3¯<©<¸t¿}¹}Ø%(°Cô9ˆ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    j
|tj |¬«} d|ddd|dd| j|«d|dd| jt|    «t|
««} |j|j| «y©NrsÿÿÿrW) Ú    bytearrayrr!r rrr rrr"rir$rrd) r%Úkey_baÚnonce_baÚ    header_baÚdata_baÚcipher1r(rÚcipher2Úct_testÚtag_testÚcipher4Úpt_tests              rÚtest_bytearrayzCcmTests.test_bytearray!sÜ€ô˜4Ÿ<™<Ó(ˆÜ˜TŸ]™]Ó+ˆÜ˜dŸi™iÓ(ˆ    Ü˜DŸI™IÓ&ˆä—'‘'˜$Ÿ,™,ÜŸ,™,Ø $§ ¡ ô/ˆð    ‰t—y‘yÔ!Ø _‰_˜TŸY™YÓ 'ˆØn‰nÓˆä—'‘'˜&ÜŸ,™,Ø (ô*ˆð%ˆˆrˆ
Ø&ˆ!ˆ ؏‰yÔ!Ø'ˆ    "1ˆ Ø—/‘/ 'Ó*ˆØ%ˆˆ Ø—>‘>Ó#ˆà ×ј˜WÔ%Ø ×ј˜hÔ'Ø ×јŸ™¨¯ © Ô6ô˜4Ÿ<™<Ó(ˆÜ˜TŸ]™]Ó+ˆÜ˜dŸi™iÓ(ˆ    Ø ä—'‘'˜&ÜŸ,™,Ø (ô*ˆð%ˆˆrˆ
Ø&ˆ!ˆ ؏‰yÔ!Ø'ˆ    "1ˆ Ø×,Ñ,¬Y°wÓ-?ÄÈ8ÓATÓUˆà ×јŸ™ GÕ,rcó"—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««}~t j |t
j|¬«} d|ddd|dd| j|«d|dd| jt|    «t|
««} |j|j| «yr‘)Ú
memoryviewr’rr!r rrr rrr"rir$rrd) r%Úkey_mvÚnonce_mvÚ    header_mvÚdata_mvr—r(rr˜r™ršr›rœs              rÚtest_memoryviewzCcmTests.test_memoryviewPsÿ€ôœI d§l¡lÓ3Ó4ˆÜœi¨¯ © Ó6Ó7ˆÜœy¨¯©Ó3Ó4ˆ    ÜœY t§y¡yÓ1Ó2ˆä—'‘'˜$Ÿ,™,ÜŸ,™,Ø $§ ¡ ô/ˆð    ‰t—y‘yÔ!Ø _‰_˜TŸY™YÓ 'ˆØn‰nÓˆä—'‘'˜&ÜŸ,™,Ø (ô*ˆð%ˆˆrˆ
Ø&ˆ!ˆ ؏‰yÔ!Ø'ˆ    "1ˆ Ø—/‘/ 'Ó*ˆØ%ˆˆ Ø—>‘>Ó#ˆà ×ј˜WÔ%Ø ×ј˜hÔ'Ø ×јŸ™¨¯ © Ô6ôœI d§l¡lÓ3Ó4ˆÜœi¨¯ © Ó6Ó7ˆÜœy¨¯©Ó3Ó4ˆ    Ø ä—'‘'˜&ÜŸ,™,Ø (ô*ˆð%ˆˆrˆ
Ø&ˆ!ˆ ؏‰yÔ!Ø'ˆ    "1ˆ Ø×,Ñ,¬Z¸Ó-@Ä*ÈXÓBVÓWˆà ×јŸ™ GÕ,rcóˆ—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"rir’r$r#r]rd)r%r'r&r(rr¨ÚresÚtag_outs        rÚtest_output_paramzCcmTests.test_output_params£€à ˆÜ—‘˜Ÿ™¤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%CcmTests.test_output_param_memoryviewœs½€à ˆÜ—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ^‰^˜BÓ ˆäœI c›NÓ+ˆÜ—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ‰r &ˆÔ)Ø ×ј˜VÔ$ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ‰r &ˆÔ)Ø ×ј˜VÕ$rcóœ—d}tj|jtj|j¬«}|j |«}tj|jtj|j¬«}|j t|j
|d¬«tj|jtj|j¬«}|j t|j|d¬«td«}tj|jtj|j¬«}|j t|j
||¬«tj|jtj|j¬«}|j t|j||¬«y)Ns5555555555555555rs0000000000000000r§rq) rrrr r!r"r4r5r#r’r=)r%r'r&r(Úshorter_outputs     rÚtest_output_param_negzCcmTests.test_output_param_neg«s €à ˆÜ—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ^‰^˜BÓ ˆä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×Ñœ) V§^¡^°RÀÐÔHä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×Ñœ) V§^¡^°RÀÐÔHä" 2›ˆÜ—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×Ñœ* f§n¡n°bÀÐÔPÜ—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ×Ñœ* f§n¡n°bÀÐÕPrc    ól—d}|jttj|jtj
|dd¬«d}|jttj|jtj
|dd¬«d}tj|jtj
|¬«}|jt|j ddz«d}tj|jtj
|¬«}|jt|jddz«y)    Ns NNNNNNNNNNNNNéi©rrorzsNNNNNNNlróC)r4r rrrr r"r#)r%rr&s   rÚtest_message_too_longzCcmTests.test_message_too_long½sö€àˆØ ×ÑÔ0ÜŸ'™'ØŸ,™,ÜŸ,™,Ø %Ø$&Ø")ð     ô    +ðˆØ ×ÑÔ0ÜŸ'™'ØŸ,™,ÜŸ,™,Ø %Ø$&Ø"'ð     ô    )ðˆÜ—‘˜Ÿ™¤s§|¡|¸5ÔAˆØ ×ÑÔ0Ø Ÿ.™.Ø ™.ô    *ðˆÜ—‘˜Ÿ™¤s§|¡|¸5ÔAˆØ ×ÑÔ0Ø Ÿ.™.Ø ™.õ    *rN)Ú__name__Ú
__module__Ú __qualname__rrr!r r*r1r7r@rErGrKrQrSrUr`rfrlrsrwr{r}rrr¤r«r­r°rµ©rrrr1s¦„á˜Y¨Ó+€GÙ˜k¨2Ó.€HÙ ˜& #Ó &€Dò"ò 8ò1òCò<ò,ò    !ò*ò :òJò'ò$    'ò"ò    @ò:ò>
Aò :ò)7òV--ò^--ò^$ò: %òQó$*rrcóŠ—eZdZedd«Zedd«Zedd«Zd„Zd„Zd„Z    d    „Z
d
„Z d „Z d „Z d „Zd„Zd„Zd„Zd„Zy)Ú CcmFSMTestsrrrrr c    óÔ—dD]ã}dt|j«fD]Ç}tj|jtj
|j ||¬«}|j|j«}|j«}tj|jtj
|j ||¬«}|j|«|j|«ŒÉŒåy©Nrr³) r-r rrrr r!r"rir#ru©r%rorzr&r(r_s      rÚ-test_valid_init_encrypt_decrypt_digest_verifyz9CcmFSMTests.test_valid_init_encrypt_decrypt_digest_verifyäs¶€à"ò    #ˆIØ ¤# d§i¡i£.Ð1ò #äŸ™ §¡¬s¯|©|Ø'+§}¡}Ø+4Ø)0ô2ð—^‘^ D§I¡IÓ.Ø—m‘m“oôŸ™ §¡¬s¯|©|Ø'+§}¡}Ø+4Ø)0ô2ð—‘˜rÔ"Ø— ‘ ˜cÕ"ñ #ñ    #rc    óè—dt|j«fD]Ø}dD]Ñ}tj|jtj
|j ||¬«}|j|j«|j«}tj|jtj
|j ||¬«}|j|j«|j|«ŒÓŒÚyr½)
r-r rrrr r!rrriru)r%rorzr&r_s     rÚ$test_valid_init_update_digest_verifyz0CcmFSMTests.test_valid_init_update_digest_verifyøs¸€à¤ D§I¡I£Ð/ò    #ˆIØ$ò #äŸ™ §¡¬s¯|©|Ø'+§}¡}Ø+4Ø)0ô2ð— ‘ ˜dŸi™iÔ(Ø—m‘m“oôŸ™ §¡¬s¯|©|Ø'+§}¡}Ø+4Ø)0ô2ð— ‘ ˜dŸi™iÔ(Ø— ‘ ˜cÕ"ñ #ñ    #rc    ón—dt|j«fD]}dt|j«fD]ý}tj|jtj
|j ||¬«}|j|j«|j|j«}|j«}tj|jtj
|j ||¬«}|j|j«|j|«|j|«ŒÿŒy)Nr³) r-r rrrr r!rrr"rir#rur¾s      rÚtest_valid_full_pathz CcmFSMTests.test_valid_full_path sã€à¤ D§I¡I£Ð/ó    #ˆIØ ¤# d§i¡i£.Ð1ò #äŸ™ §¡¬s¯|©|Ø'+§}¡}Ø+4Ø)0ô2ð— ‘ ˜dŸi™iÔ(Ø—^‘^ D§I¡IÓ.Ø—m‘m“oôŸ™ §¡¬s¯|©|Ø'+§}¡}Ø+4Ø)0ô2ð— ‘ ˜dŸi™iÔ(Ø—‘˜rÔ"Ø— ‘ ˜cÕ"ò# #ñ    #rcó˜—tj|jtj|j¬«}|j «yrB)rrrr r!rirDs  rÚtest_valid_init_digestz"CcmFSMTests.test_valid_init_digest"s)€ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ‰ rcó.—tj|jtj|j¬«}|j «}tj|jtj|j¬«}|j |«yrB)rrrr r!riru)r%r&r_s   rÚtest_valid_init_verifyz"CcmFSMTests.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 d|¬«}||j|«t||«}||j«||j«||j«||j«Œ·ŒÙy)NrMs333ó3é@r‰)    r r-rrrr r!rrrN)r%Ú method_namerŠror&Úmethods      rÚ&test_valid_multiple_encrypt_or_decryptz2CcmFSMTests.test_valid_multiple_encrypt_or_decrypt/sĀà/ò    "ˆKØ" F¨D¯I©IØ"Ÿi™i¨$Ñ.ð0ò "    àÐ$Ø $‘Iä # I£IÜŸ™ §¡¬s¯|©|Ø'+§}¡}Ø)+Ø+4ô6ðÐ(Ø—M‘M )Ô,Ü  ¨Ó5Ùt—y‘yÔ!ِt—y‘yÔ!ِt—y‘yÔ!ِt—y‘yÕ!ñ! "ñ    "rcó—tj|jtj|j¬«}|j |j «|j«}td«D]"}|j||j««Œ$tj|jtj|j¬«}|j |j «td«D]}|j|«Œy)Nrr[é) rrrr r!rrr rir>r$ru)r%r&Ú    first_macr?s    rÚ$test_valid_multiple_digest_or_verifyz0CcmFSMTests.test_valid_multiple_digest_or_verifyDs³€ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ‰ d—i‘iÔ Ø—M‘M“Oˆ    Üq“ò    9ˆAØ × Ñ ˜Y¨¯ © «Õ 8ð    9ô—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ‰ d—i‘iԠܐq“ò    %ˆAØ M‰M˜)Õ $ñ    %rcóð—tj|jtj|j¬«}|j |j «|j|j «\}}tj|jtj|j¬«}|j |j «|j||«}|j|j |«yrB)
rrrr r!rrr r]rdr$)r%r&r(r_r's     rÚ0test_valid_encrypt_and_digest_decrypt_and_verifyz<CcmFSMTests.test_valid_encrypt_and_digest_decrypt_and_verifyRsž€ä—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ‰ d—i‘iÔ Ø×+Ñ+¨D¯I©IÓ6‰ˆˆCô—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ‰ d—i‘iÔ Ø × &Ñ & r¨3Ó /ˆØ ×јŸ™ BÕ'rcóL—dD]Ÿ}dD]˜}tj|jtj|j¬«}|r|j |j «t||«}||j «|jt||j «ŒšŒ¡y)NrM©TFr©
rrrr r!rrr rNr4r5)r%rËÚassoc_data_presentr&rÌs     rÚ5test_invalid_multiple_encrypt_decrypt_without_msg_lenzACcmFSMTests.test_invalid_multiple_encrypt_decrypt_without_msg_len^s‡€à/ò    @ˆKØ&3ò @Ð"ÜŸ™ §¡¬s¯|©|Ø'+§}¡}ô6á%Ø—M‘M $§)¡)Ô,Ü  ¨Ó5Ùt—y‘yÔ!Ø×!Ñ!¤)¨V°T·Y±YÕ?ñ @ñ    @rc    ód—dD]«\}}dD]¡}tj|jtj|jd¬«}|r|j |j «t||«|j «|jtt||«|j «Œ£Œ­y)N)rM)r#r"rÕé ryrÖ)r%Ú method1_nameÚ method2_namer×r&s     rÚ#test_invalid_mixing_encrypt_decryptz/CcmFSMTests.test_invalid_mixing_encrypt_decryptjs—€ð+Cò
    -Ñ &ˆL˜,à&3ò -Ð"ÜŸ™ §¡¬s¯|©|Ø'+§}¡}Ø)+ô-ñ&Ø—M‘M $§)¡)Ô,Ø-”˜  Ó-¨d¯i©iÔ8Ø×!Ñ!¤)¬W°V¸\Ó-JØ"&§)¡)õ-ñ -ñ
    -rcóÜ—dD]ç}tj|jtj|j¬«}|j |j «|j«|jtt||«|j «tj|jtj|j¬«}|j|j «Œéy)N)r"rrr) rrrr r!r"r rir4r5rNr])r%rËr&s   rÚ+test_invalid_encrypt_or_update_after_digestz7CcmFSMTests.test_invalid_encrypt_or_update_after_digestxsš€Ø.ò    1ˆKÜ—W‘W˜TŸ\™\¬3¯<©<¸t¿}¹}ÔMˆFØ N‰N˜4Ÿ9™9Ô %Ø M‰MŒOØ × Ñ œi¬°¸Ó)EØ"Ÿi™iô )ô—W‘W˜TŸ\™\¬3¯<©<¸t¿}¹}ÔMˆFØ × %Ñ % d§i¡iÕ 0ñ    1rcóÜ—tj|jtj|j¬«}|j |j «}|j«}dD]}tj|jtj|j¬«}|j|«|j|«|jtt||«|j «tj|jtj|j¬«}|j||«|jtt||«|j «Œy)Nr)r#rr)rrrr r!r"r rir#rur4r5rNrd)r%r&r(r_rËs     rÚ+test_invalid_decrypt_or_update_after_verifyz7CcmFSMTests.test_invalid_decrypt_or_update_after_verifyƒsò€Ü—‘˜Ÿ™¤s§|¡|¸4¿=¹=ÔIˆØ ^‰^˜DŸI™IÓ &ˆØm‰m‹oˆà.ó
    )ˆKÜ—W‘W˜TŸ\™\¬3¯<©<¸t¿}¹}ÔMˆFØ N‰N˜2Ô Ø M‰M˜#Ô Ø × Ñ œi¬°¸Ó)EØ"Ÿi™iô )ô—W‘W˜TŸ\™\¬3¯<©<¸t¿}¹}ÔMˆFØ × %Ñ % b¨#Ô .Ø × Ñ œi¬°¸Ó)EØ"Ÿi™iö )ñ
    )rN)r¶r·r¸rrr!r r¿rÁrÃrÅrÇrÍrÑrÓrØrÝrßrár¹rrr»r»Þsc„á˜Y¨Ó+€GÙ˜k¨2Ó.€HÙ ˜& "Ó %€Dò#ò(#ò(#ò,ò
ò"ò* %ò
(ò
@ò -ò    1ó)rr»cóp—eZdZdZddddj    edd«Dcgc]}t dd«D] }d|dz|zz‘ŒŒ c}}}}«d    zd
d d d dfdddddddddddddddddd d!d"d#d$d%d&gZeDcgc]}|Dcgc] }t|«‘Œc}‘Œc}}}}Zd'„Z    y(cc}}}}wcc}wcc}}}}w))Ú TestVectorsz`Class exercising the CCM test vectors found in Appendix C
    of NIST SP 800-38C and in RFC 3610)Ú0001020304050607Ú20212223Ú7162015bÚ4dac255dÚ 404142434445464748494a4b4c4d4e4fÚ10111213141516)Ú 000102030405060708090a0b0c0d0e0fÚ 202122232425262728292a2b2c2d2e2fÚ d2a1f0e051ea5f62081a7792073d593dÚ 1fc64fbfaccdrèÚ1011121314151617)Ú(000102030405060708090a0b0c0d0e0f10111213Ú0202122232425262728292a2b2c2d2e2f3031323334353637Ú0e3b201a9f5b71a7a9b1ceaeccd97e70b6176aad9a4428aa5Ú484392fbc1b09951rèÚ101112131415161718191a1bÚrrz%02XéÚ@202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3fÚ@69915dad1e84c6376a68c2967e4dab615ae0fd1faec44cc484828529463ccf72Úb4ac6bec93e8598e7f0dadbcea5brèÚ101112131415161718191a1b1c)räÚ.08090a0b0c0d0e0f101112131415161718191a1b1c1d1eÚ.588c979a61c663d2f066d0c2c0f989806d5f6b61dac384Ú17e8d12cfdf926e0Ú c0c1c2c3c4c5c6c7c8c9cacbcccdcecfÚ00000003020100a0a1a2a3a4a5)räÚ008090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fÚ072c91a36e135f8cf291ca894085c87e3cc15c439c9e43a3bÚa091d56e10400916rýÚ00000004030201a0a1a2a3a4a5)räÚ208090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20Ú251b1e5f44a197d1da46b0f8e2d282ae871e838bb64da859657Ú4adaa76fbd9fb0c5rýÚ00000005040302A0A1A2A3A4A5)Ú000102030405060708090a0bÚ&0c0d0e0f101112131415161718191a1b1c1d1eÚ&a28c6865939a9a79faaa5c4c2a9d4a91cdac8cÚ96c861b9c9e61ef1rýÚ00000006050403a0a1a2a3a4a5)rÚ(0c0d0e0f101112131415161718191a1b1c1d1e1fÚ(dcf1fb7b5d9e23fb9d4e131253658ad86ebdca3eÚ51e83f077d9c2d93rýÚ00000007060504a0a1a2a3a4a5)rÚ*0c0d0e0f101112131415161718191a1b1c1d1e1f20Ú*6fc1b011f006568b5171a42d953d469b2570a4bd87Ú405a0443ac91cb94rýÚ00000008070605a0a1a2a3a4a5)rärúÚ.0135d1b2c95f41d5d1d4fec185d166b8094e999dfed96cÚ048c56602c97acbb7490rýÚ00000009080706a0a1a2a3a4a5)rärÿÚ07b75399ac0831dd2f0bbd75879a2fd8f6cae6b6cd9b7db24Úc17b4433f434963f34b4rýÚ0000000a090807a0a1a2a3a4a5)rärÚ282531a60cc24945a4b8279181ab5c84df21ce7f9b73f42e197Úea9c07e56b5eb17e5f4erýÚ0000000b0a0908a0a1a2a3a4a5)rrÚ&07342594157785152b074098330abb141b947bÚ566aa9406b4d999988ddrýÚ0000000c0b0a09a0a1a2a3a4a5)rr Ú(676bb20380b0e301e8ab79590a396da78b834934Úf53aa2e9107a8b6c022crýÚ0000000d0c0b0aa0a1a2a3a4a5)rrÚ*c0ffa0d6f05bdb67f24d43a4338d2aa4bed7b20e43Úcd1aa31662e7ad65d6dbrýÚ0000000e0d0c0ba0a1a2a3a4a5)Ú0be1a88bace018b1Ú.08e8cf97d820ea258460e96ad9cf5289054d895ceac47cÚ.4cb97f86a2a4689a877947ab8091ef5386a6ffbdd080f8Úe78cf7cb0cddd7b3Ú d7828d13b2b0bdc325a76236df93cc6bÚ00412b4ea9cdbe3c9696766cfa)Ú63018f76dc8a1bcbÚ09020ea6f91bdd85afa0039ba4baff9bfb79c7028949cd0ecÚ04ccb1e7ca981befaa0726c55d378061298c85c92814abc33Úc52ee81d7d77c08ar*Ú0033568ef7b2633c9696766cfa)Úaa6cfa36cae86b40Ú2b916e0eacc1c00d7dcec68ec0b3bbb1a02de8a2d1aa346132eÚ2b1d23a2220ddc0ac900d9aa03c61fcf4a559a4417767089708Úa776796edb723506r*Ú00103fe41336713c9696766cfa)Úd0d0735c531e1becf049c244Ú&12daac5630efa5396f770ce1a66b21f7b2101cÚ&14d253c3967b70609b7cbb7c49916028324526Ú9a6f49975bcadeafr*Ú00764c63b8058e3c9696766cfa)Ú77b60f011c03e1525899bcaeÚ(e88b6a46c78d63e52eb8c546efb5de6f75e9cc0dÚ(5545ff1a085ee2efbf52b2e04bee1e2336c73e3fÚ762c0c7744fe7e3cr*Ú00f8b678094e3b3c9696766cfa)Úcd9044d2b71fdb8120ea60c0Ú*6435acbafb11a82e2f071d7ca4a5ebd93a803ba87fÚ*009769ecabdf48625594c59251e6035722675e04c8Ú47099e5ae0704551r*Ú00d560912d3f703c9696766cfa)Úd85bc7e69f944fb8Ú.8a19b950bcf71a018e5e6701c91787659809d67dbedd18Ú.bc218daa947427b6db386a99ac1aef23ade0b52939cb6aÚ637cf9bec2408897c6bar*Ú0042fff8f1951c3c9696766cfa)Ú74a0ebc9069f5b37Ú01761433c37c5a35fc1f39f406302eb907c6163be38c98437Ú05810e6fd25874022e80361a478e3e9cf484ab04f447efff6Úf0a477cc2fc9bf548944r*Ú00920f40e56cdc3c9696766cfa)Ú44a3aa3aae6475caÚ2a434a8e58500c6e41530538862d686ea9e81301b5ae4226bfaÚ2f2beed7bc5098e83feb5b31608f8e29c38819a89c8e776f154Ú4d4151a4ed3a8b87b9cer*Ú0027ca0c7120bc3c9696766cfa)Úec46bb63b02520c33c49fd70Ú&b96b49e21d621741632875db7f6c9243d2d7c2Ú&31d750a09da3ed7fddd49a2032aabf17ec8ebfÚ7d22c8088c666be5c197r*Ú005b8ccbcd9af83c9696766cfa)Ú47a65ac78b3d594227e85e71Ú(e2fcfbb880442c731bf95167c8ffd7895e337076Ú(e882f1dbd38ce3eda7c23f04dd65071eb41342acÚdf7e00dccec7ae52987dr*Ú003ebe94044b9a3c9696766cfa)Ú6e37a6ef546d955d34ab6059Ú*abf21c0b02feb88f856df4a37381bce3cc128517d4Ú*f32905b88a641b04b9c9ffb58cc390900f3da12ab1Ú6dce9e82efa16da62059r*Ú008d493b30ae8b3c9696766cfac    óð—|jD]ç\}}}}}}tj|tj|t    |«¬«}|j |«|j |«\}}    |j||«|j||    «tj|tj|t    |«¬«}|j |«|j||«}
|j||
«Œéy)N)rZ)    Ú test_vectorsrrr r-rrr]r$rd) r%Ú
assoc_datar'r(r_Úkeyrr&rŽÚmac2r)s            rÚrunTestzTestVectors.runTestPs̀Ø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__Újoinr>Útest_vectors_hexrrdrh)Ú.0r?Úyr>Útvrs000000rrãrã•s/„ñ*ð    ð     ð     &ð 7‰7©u°Q°r«{×PÑP¨!ÄEÈ!ÈBÃKÒP¸qF˜a ™d 1™fÓ%ÐPÐ%ÕPÓ QÐSVÑ
&ð     (ð    (ð     (ð    (ð     (ð     (ð     (ð     (ð     (ð     (ð     (ð     (ð     (ð     (ð     (ð     (ð     (ð     (ð     (ð     (ð     (ð     (ð     (ð     (ð     (ðMlÐð\:J×JÑJ°2¨2Ö. a”Y˜q•\Ô.ÕJ€Ló &ùõyQùòt/ùÕJs£#B#Á9    B0
ÂB+ÂB0
Â+B0
rãcó<—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
y    )
ÚTestVectorsWycheproofc ól—tjj|«||_||_d|_y)NÚNone)ÚunittestÚTestCaseÚ__init__Ú_wycheproof_warningsÚ _extra_paramsÚ_id)r%Úwycheproof_warningsÚ extra_paramss   rruzTestVectorsWycheproof.__init__bs-€Ü×Ñ×"Ñ" 4Ô(Ø$7ˆÔ!Ø)ˆÔ؈rcó6—d„}tdddd|i¬«|_y)Ncó—|ddzS)NÚtagSizeér¹)Úgroups rÚ
filter_tagz/TestVectorsWycheproof.setUp.<locals>.filter_tagjs€Ø˜Ñ# qÑ(Ð (r)ÚCipherÚ
wycheproofzaes_ccm_test.jsonzWycheproof AES CCMÚtag_size)Ú    group_tag)rrn)r%r€s  rÚsetUpzTestVectorsWycheproof.setUphs'€ò    )ô/Ð/GØ/BØ/CØ:DÀjÐ9QôSˆrcó—|jS©N)rxr6s rÚshortDescriptionz&TestVectorsWycheproof.shortDescriptionrs €Øx‰xˆrcó˜—|jr>|jr1ddl}|jd|j›d|j
›d«yyy)NrzWycheproof warning: z (ú))ÚwarningrvÚwarningsÚwarnrxÚcomment)r%rnrŒs   rrzTestVectorsWycheproof.warnus4€Ø :Š:˜$×3Ò3Û Ø MŠM¸4¿8»8ÀRÇZÃZÐPÕ Qð4ˆ:rcó—dt|j«z|_    tj|j
tj |jfd|ji|j¤Ž}|j|j«|j!|j"«\}}|jrJ|j%||j&«|j%||j(«|j+|«yy#t$r‚}t|j«tddd«vr dt|«vr|jrJ‚Yd}~y|jtddd«vr d    t|«vr|jrJ‚Yd}~y|‚d}~wwxYw)
NzWycheproof Encrypt CCM Test #rZr<r;rYúLength of parameter 'nonce'r[r\úParameter 'mac_len')ÚstrÚidrxrrrfr Úivrƒrwr=r-r>ÚvalidrrÚaadr]Úmsgr$r(rr)r%rnr&Úer(rs      rÚ test_encryptz"TestVectorsWycheproof.test_encryptzs>€Ø2´S¸¿¹³ZÑ?ˆŒð
    Ü—W‘W˜RŸV™V¤S§\¡\°2·5±5ñ6À"Ç+Á+ð6Ø"&×"4Ñ"4ñ6ˆFð     ‰ b—f‘fÔØ×+Ñ+¨B¯F©FÓ3‰ˆˆCØ 8Š8Ø × Ñ ˜R §¡Ô 'Ø × Ñ ˜S "§&¡&Ô )Ø I‰IbMð øôò    Ü2—5‘5‹z¤ q¨&°!Ó!4Ñ4Ð9VÔZ]Ð^_ÓZ`Ñ9`ØŸ8š8Ð#|ÜØ{‰{¤%¨¨6°1Ó"5Ñ5Ð:OÔSVÐWXÓSYÑ:YØŸ8š8Ð#|ÜØˆGûð    ús$ŸAC?Ã?    F
Ä=FÅ
4FÆFÆF
có0—dt|j«z|_    tj|j
tj |jfd|ji|j¤Ž}|j|j«    |j!|j"|j$«}|jsJ‚|j'||j(«|j+|«y#t$r‚}t|j«tddd«vr dt|«vr|jrJ‚Yd}~y|jtddd«vr d    t|«vr|jrJ‚Yd}~y|‚d}~wwxYw#t$r|jrJ‚YywxYw)
NzWycheproof Decrypt CCM Test #rZr<r;rYrr[r\r‘)r’r“rxrrrfr r”rƒrwr=r-r>r•rrr–rdr(rr$r—r)r%rnr&r˜r's     rÚ test_decryptz"TestVectorsWycheproof.test_decryptsP€Ø2´S¸¿¹³ZÑ?ˆŒð
    Ü—W‘W˜RŸV™V¤S§\¡\°2·5±5ñ6À"Ç+Á+ð6Ø"&×"4Ñ"4ñ6ˆFð     ‰ b—f‘fÔð    Ø×*Ñ*¨2¯5©5°"·&±&Ó9ˆBð—8’8ˆO8Ø × Ñ ˜R §¡Ô (Ø I‰IbMøô#ò    Ü2—5‘5‹z¤ q¨&°!Ó!4Ñ4Ð9VÔZ]Ð^_ÓZ`Ñ9`ØŸ8š8Ð#|ÜØ{‰{¤%¨¨6°1Ó"5Ñ5Ð:OÔSVÐWXÓSYÑ:YØŸ8š8Ð#|ÜØˆGûð    ûôò     Ø—x’xÐ <‘xð     ús6ŸAC- &E;Ã-    E8Ã6=E3Ä84E3Å1E3Å3E8Å;FÆFcóF—dt|j«z|_t|j«t ddd«vst|j «dk(rytj|jtj|jfd|ji|j¤Ž}|j|j«t|j dt|j «dz
zd    z«}|j!t"|j$||j&«y)
Nz%Wycheproof Corrupt Decrypt CCM Test #r<r;rYrrZór9ó)r’r“rxr-r”r>r(rrrfr rƒrwrrr–r
r4r=rdr)r%rnr&Ú
ct_corrupts    rÚtest_corrupt_decryptz*TestVectorsWycheproof.test_corrupt_decrypt©s̀Ø:¼SÀÇÁ»ZÑGˆŒÜ ˆru‰u‹:œU 1 f¨aÓ0Ñ 0´C¸¿¹³JÀ!²OØ Ü—‘˜Ÿ™¤§¡¨r¯u©uñ2¸b¿k¹kð2Ø"×0Ñ0ñ2ˆà ‰ b—f‘fÔܘBŸE™E 7¬c°"·%±%«j¸1©nÑ#=ÀÑ#GÓHˆ
Ø ×Ñœ* f×&?Ñ&?ÀÈRÏVÉVÕTrcóŒ—|jD]5}|j|«|j|«|j|«Œ7yr‡)rnr™r›r )r%rns  rrhzTestVectorsWycheproof.runTest³s?€à—'‘'ò    *ˆBØ × Ñ ˜bÔ !Ø × Ñ ˜bÔ !Ø × %Ñ % bÕ )ñ    *rN) r¶r·r¸rur…rˆrr™r›r rhr¹rrrprp`s-„òò SòòRò
ò,ò2Uó*rrpcó®—|jd«}g}|tt«z }|tt«z }|t    «gz }|t |«gz }|S)Nry)Úgetrrr»rãrp)ÚconfigryÚtestss   rÚ    get_testsr¦»s\€Ø Ÿ*™*Ð%:Ó;Ðà €EØ    Œ_œXÓ &Ñ&€EØ    Œ_œ[Ó )Ñ)€EØ    Œk‹mˆ_Ñ€EØ    Ô#Ð$7Ó8Ð 9Ñ9€Eà €LrÚ__main__có>—tjt««yr‡)rsÚ    TestSuiter¦r¹rrÚsuiterªÈs€Ü×Ñœ9›;Õ'rrª)Ú defaultTest)rsÚbinasciirÚCrypto.SelfTest.st_commonrÚCrypto.SelfTest.loaderrÚCrypto.Util.py3compatrrÚ Crypto.CipherrÚ Crypto.Hashr    rcr
ÚCrypto.Cipher._mode_ccmr rrtrr»rãrpr¦r¶rªÚmainr¹rrú<module>r´s§ðó>Ýå5Ý?ß/ÝÝ å%å:ò8ôj*ˆx× Ñ ôj*ôZ t)(×#Ñ#ôt)ônH&(×#Ñ#ôH&ôVX*˜H×-Ñ-ôX*ðvó    ð ˆzÒò(à€H‡MM˜gÖ&ðr