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
Ë
ž¬`iX@ãó`—ddlZddlmZddlmZddlmZddlmZm    Z    ddl
m Z m Z m Z ddlmZddlmZd    „ZGd
„d e«ZGd „d ej(«ZdZdZeD].ZdD]'Zej5de«Zeefd„Zeedeze«Œ)Œ0eD].ZdD]'Zej5de«Zeefd„Zeedeze«Œ)Œ0[[dZeD].ZdD]Zej5de«Zeefd„ZŒeedeze«Œ0Gd„dej(«Zifd„Z e!dk(rd„Z"ejFd¬«yy) éN)Ú    unhexlify)Úload_test_vectors)Úlist_test_cases)ÚtobytesÚ    is_string)ÚAESÚDES3ÚDES)ÚSHAKE128)ÚBlockChainingTestscó^—tjt|«¬«j|«S)N)Údata)r ÚnewrÚread)ÚtagÚlengths  õrH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/Cipher/test_CFB.pyÚget_tag_randomr+s €Ü <‰<œW S›\Ô *× /Ñ /°Ó 7Ð7ócóT—eZdZejZejZd„Zd„Z    d„Z
d„Z y)ÚCfbTestscóp—dgdz}tj|jtj|jd¬«}|Dcgc]}|j |«‘Œ}}tj|jtj|jd¬«}|j dj|«|j dj|«««tj|jtj|jd¬«}|Dcgc]}|j |«‘Œ}}tj|jtj|jd¬«}|j dj|«|j dj|«««ycc}wcc}w)Nó7777777édé©Ú segment_sizeré€)rrÚkey_128ÚMODE_CFBÚiv_128ÚencryptÚ assertEqualÚjoin©ÚselfÚ
plaintextsÚcipherÚxÚ ciphertextss     rÚtest_unaligned_data_128z CfbTests.test_unaligned_data_1286s(€Ø!^ cÑ)ˆ
ä—‘˜Ÿ™¤s§|¡|°T·[±[ÈqÔQˆØ3=Ö?¨a˜Ÿ™ qÕ)Ð?ˆ Ð?Ü—‘˜Ÿ™¤s§|¡|°T·[±[ÈqÔQˆØ ×јŸ™ +Ó.°·±¸s¿x¹xÈ
Ó?SÓ0TÔUä—‘˜Ÿ™¤s§|¡|°T·[±[ÈsÔSˆØ3=Ö?¨a˜Ÿ™ qÕ)Ð?ˆ Ð?Ü—‘˜Ÿ™¤s§|¡|°T·[±[ÈsÔSˆØ ×јŸ™ +Ó.°·±¸s¿x¹xÈ
Ó?SÓ0TÕUùò@ùò
@ó ÁF.ÄF3cóp—dgdz}tj|jtj|jd¬«}|Dcgc]}|j |«‘Œ}}tj|jtj|jd¬«}|j dj|«|j dj|«««tj|jtj|jd¬«}|Dcgc]}|j |«‘Œ}}tj|jtj|jd¬«}|j dj|«|j dj|«««ycc}wcc}w)Nrrrrré@)r    rÚkey_192r Úiv_64r"r#r$r%s     rÚtest_unaligned_data_64zCfbTests.test_unaligned_data_64Cs,€Ø!^ cÑ)ˆ
Ü—‘˜$Ÿ,™,¬¯ © °t·z±zÐPQÔRˆØ3=Ö?¨a˜Ÿ™ qÕ)Ð?ˆ Ð?Ü—‘˜$Ÿ,™,¬¯ © °t·z±zÐPQÔRˆØ ×јŸ™ +Ó.°·±¸s¿x¹xÈ
Ó?SÓ0TÔUä—‘˜$Ÿ,™,¬¯ © °t·z±zÐPRÔSˆØ3=Ö?¨a˜Ÿ™ qÕ)Ð?ˆ Ð?Ü—‘˜$Ÿ,™,¬¯ © °t·z±zÐPRÔSˆØ ×јŸ™ +Ó.°·±¸s¿x¹xÈ
Ó?SÓ0TÕUùò@ùò
@r,c    óB—tddd«D]=}tj|jtj|j
|¬«}Œ?dD]M}|j ttj|jtj|j
|¬«ŒOy)Nrér)réé    ér3)Úrangerrrr r!Ú assertRaisesÚ
ValueError©r&Úbitsr(s   rÚtest_segment_size_128zCfbTests.test_segment_size_128Qs€Ü˜!˜S !Ó$ò    0ˆDÜ—W‘W˜TŸ\™\¬3¯<©<¸¿¹Ø*.ô0‰Fð    0ð&ò    1ˆDØ × Ñ œj¬#¯'©'°4·<±<ÄÇÁØ"Ÿk™kØ+/ð õ 1ñ    1rc    óB—tddd«D]=}tj|jtj|j
|¬«}Œ?dD]M}|j ttj|jtj|j
|¬«ŒOy)NréAr)rr4r5é?r>)    r7r    rr/r r0r8r9rr:s   rÚtest_segment_size_64zCfbTests.test_segment_size_64[s~€Ü˜!˜R “Oò    1ˆDÜ—X‘X˜dŸl™l¬D¯M©M¸4¿:¹:Ø+/ô1‰Fð    1ð$ò    1ˆDØ × Ñ œj¬$¯(©(°D·L±LÄ#Ç,Á,Ø"Ÿj™jØ+/ð õ 1ñ    1rN) Ú__name__Ú
__module__Ú __qualname__rr Úaes_moder    Ú    des3_moder+r1r<r@©rrrr/s*„à|‰|€HØ— ‘ €Iò Vò
Vò1ó1rrcó—eZdZd„Zd„Zd„Zy)ÚNistCfbVectorscóæ—td|d|zdd„i«}|€yd}|D]Ó}t|«r|}Œ|j|_t    j
|j tj|j|¬«}|dk(r6|j|j|j«|j«Œ˜|dk(r6|j|j|j«|j«ŒÓJ‚y)N©ÚCipherrz AES CFB%d KATÚcountcó—t|«S©N©Úint©r)s rú<lambda>z1NistCfbVectors._do_kat_aes_test.<locals>.<lambda>mó
€´#°a³&€rrú    [ENCRYPT]ú    [DECRYPT])rrÚdescÚ descriptionrrÚkeyr Úivr#r"Ú    plaintextÚ
ciphertextÚdecrypt)r&Ú    file_namerÚ test_vectorsÚ    directionÚtvr(s       rÚ_do_kat_aes_testzNistCfbVectors._do_kat_aes_testhsـä(Ð):Ø%Ø+¨lÑ:Ø%Ñ(8Ð:ó=ˆ ð Ð Ø àˆ    Øò    ˆBô˜Œ}ؐ    Øà!Ÿw™wˆDÔ Ü—W‘W˜RŸV™V¤S§\¡\°2·5±5Ø*6ô8ˆFà˜KÒ'Ø× Ñ  §¡°· ± Ó!=¸r¿}¹}ÕMؘkÒ)Ø× Ñ  §¡°· ± Ó!>ÀÇ Á ÕMàuñ    rc󯇇 —td|d‰zdd„i«}|€y‰dvsJ‚d}|D]:Š t‰ «r‰ }Œ‰ j|_t    j
‰ j tj‰ j‰¬«}ˆˆ fd„}|dk(rfg}td    «D]6}|‰ j||«}    |j|j|    ««Œ8|j|d
‰ j«ŒÏ|d k(rgg}
td    «D]6}|‰ j|
|«} |
j|j| ««Œ8|j|
d
‰ j«Œ;J‚y) NrJzAES CFB%d MontecarlorLcó—t|«SrNrOrQs rrRz1NistCfbVectors._do_mct_aes_test.<locals>.<lambda>‰rSr)rrrc󐕗‰dk(r|dk\r|dS|‰jg|S|dk(r|S|dkr‰j|dz
|S||dz
S)Nrééþÿÿÿrééé)rY)Ú
input_textÚ
output_seqÚjrr`s   €€rÚ    get_inputz2NistCfbVectors._do_mct_aes_test.<locals>.get_input›sgø€à 3Ò&ؘA’vØ)¨"™~Ð-Ø&¨¯©Ð.¨qÑ1Ð1à˜’6Ø%Ð%ؘ"’WØŸ5™5  Q¡ q˜>Ð)Ø! ! b¡&Ñ)Ð)rrTièéÿÿÿÿrU)rrrVrWrrrXr rYr7rZÚappendr"r#r[r\) r&r]rr^r_r(rmÚctsrlrZÚptsr[r`s   `         @rÚ_do_mct_aes_testzNistCfbVectors._do_mct_aes_test„s`ù€ä(Ð):Ø%Ø2°\ÑAØ%Ñ(8Ð:ó=ˆ ð Ð Ø à˜xÑ'Ð(Ð'àˆ    Øó%    ˆBô˜Œ}ؐ    Øà!Ÿw™wˆDÔ Ü—W‘W˜RŸV™V¤S§\¡\°2·5±5Ø*6ô8ˆFõ *ð˜KÒ'ؐܘt›ò:AÙ )¨"¯,©,¸¸QÓ ?IØ—J‘J˜vŸ~™~¨iÓ8Õ9ð:ð× Ñ   R¡¨"¯-©-Õ8ؘkÒ)ؐܘt›ò;AÙ!*¨2¯=©=¸#¸qÓ!AJØ—J‘J˜vŸ~™~¨jÓ9Õ:ð;ð× Ñ   R¡¨"¯,©,Ö7àuñK%    rcó—td|d|zdd„i«}|€yd}|D]l}t|«r|}Œ|j|_t    |d«r<t j |jt
j|j|¬«}nŠ|j|jk7r'|j|jz|jz}n|j|jz}tj |tj|j|¬«}|dk(r7|j|j|j «|j"«Œ1|dk(r7|j|j%|j"«|j «ŒmJ‚y)    N)rKÚTDESzTDES CFB%d KATrLcó—t|«SrNrOrQs rrRz.NistCfbVectors._do_tdes_test.<locals>.<lambda>¼rSrÚkeysrrTrU)rrrVrWÚhasattrr
rrvr rYÚkey1Úkey3Úkey2r    r#r"rZr[r\)r&r]rr^r_r`r(rXs        rÚ _do_tdes_testzNistCfbVectors._do_tdes_test·sA€ä(Ð);Ø%Ø,¨|Ñ;Ø%Ñ(8Ð:ó=ˆ ð Ð Ø àˆ    Øó    ˆBô˜Œ}ؐ    Øà!Ÿw™wˆDÔ Ür˜6Ô"ÜŸ™ §¡¬#¯,©,¸¿¹Ø.:ô<‘ð—7‘7˜bŸg™gÒ%ØŸ'™' B§G¡GÑ+¨b¯g©gÑ5‘CàŸ'™' B§G¡GÑ+CÜŸ™ #¤t§}¡}°b·e±eØ/;ô=à˜KÒ'Ø× Ñ  §¡°· ± Ó!=¸r¿}¹}ÖMؘkÒ)Ø× Ñ  §¡°· ± Ó!>ÀÇ Á ÖMàuñ/    rN)rArBrCrarrr{rFrrrHrHfs„òò81óf!rrH)zCFB?GFSbox128.rspzCFB?GFSbox192.rspzCFB?GFSbox256.rspzCFB?KeySbox128.rspzCFB?KeySbox192.rspzCFB?KeySbox256.rspzCFB?VarKey128.rspzCFB?VarKey192.rspzCFB?VarKey256.rspzCFB?VarTxt128.rspzCFB?VarTxt192.rspzCFB?VarTxt256.rspzCFB?MMT128.rspzCFB?MMT192.rspzCFB?MMT256.rsp)zCFB?MCT128.rspzCFB?MCT192.rspzCFB?MCT256.rsp)Ú8Ú128ú?có:—|j|t|««yrN)rarP©r&r]r;s   rÚnew_funcrøó€Ø × !Ñ ! )¬S°«YÕ 7rÚ    test_AES_có:—|j|t|««yrN)rrrPr€s   rrrÿr‚r)z TCFB?MMT2.rspz TCFB?MMT3.rspzTCFB?invperm.rspzTCFB?permop.rspzTCFB?subtab.rspzTCFB?varkey.rspzTCFB?vartext.rsp)r|Ú64có:—|j|t|««yrN)r{rPr€s   rrrs€Ø × Ñ ˜y¬#¨d«)Õ 4rÚ
test_TDES_có4—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z    y)    ÚSP800TestVectorszPClass exercising the CFB test vectors found in Section F.3
    of NIST SP 800-3AcóŒ—d}d}d}d}t|«}t|«}t|«}t|«}tj|tj|d¬«}|j    |j |«|«tj|tj|d¬«}|j    |j |«|«y)NÚ$6bc1bee22e409f96e93d7e117393172aae2dÚ$3b79424c9c0dd436bace9e0ed4586a4f32b9Ú 2b7e151628aed2a6abf7158809cf4f3cÚ 000102030405060708090a0b0c0d0e0frr©rrrr r#r"r\©r&rZr[rXrYr(s      rÚtest_aes_128_cfb8z"SP800TestVectors.test_aes_128_cfb8sž€Ø>ˆ    Ø>ˆ
Ø:ˆØ:ˆä˜‹nˆÜ r‹]ˆÜ˜iÓ(ˆ    Ü˜zÓ*ˆ
ä—‘˜œcŸl™l¨B¸QÔ?ˆØ ×јŸ™¨    Ó2°JÔ?Ü—‘˜œcŸl™l¨B¸QÔ?ˆØ ×јŸ™¨
Ó3°YÕ?rcóŒ—d}d}d}d}t|«}t|«}t|«}t|«}tj|tj|d¬«}|j    |j |«|«tj|tj|d¬«}|j    |j |«|«y)Nr‹Ú$cda2521ef0a905ca44cd057cbf0d47a0678aÚ08e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7brŽrrrrs      rÚtest_aes_192_cfb8z"SP800TestVectors.test_aes_192_cfb8,sž€Ø>ˆ    Ø>ˆ
ØJˆØ:ˆä˜‹nˆÜ r‹]ˆÜ˜iÓ(ˆ    Ü˜zÓ*ˆ
ä—‘˜œcŸl™l¨B¸QÔ?ˆØ ×јŸ™¨    Ó2°JÔ?Ü—‘˜œcŸl™l¨B¸QÔ?ˆØ ×јŸ™¨
Ó3°YÕ?rcóŒ—d}d}d}d}t|«}t|«}t|«}t|«}tj|tj|d¬«}|j    |j |«|«tj|tj|d¬«}|j    |j |«|«y)Nr‹Ú$dc1f1a8520a64db55fcc8ac554844e889700Ú@603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4rŽrrrrs      rÚtest_aes_256_cfb8z"SP800TestVectors.test_aes_256_cfb8<sž€Ø>ˆ    Ø>ˆ
ØZˆØ:ˆä˜‹nˆÜ r‹]ˆÜ˜iÓ(ˆ    Ü˜zÓ*ˆ
ä—‘˜œcŸl™l¨B¸QÔ?ˆØ ×јŸ™¨    Ó2°JÔ?Ü—‘˜œcŸl™l¨B¸QÔ?ˆØ ×јŸ™¨
Ó3°YÕ?rcóŒ—d}d}d}d}t|«}t|«}t|«}t|«}tj|tj|d¬«}|j    |j |«|«tj|tj|d¬«}|j    |j |«|«y)Nڀ6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710ڀ3b3fd92eb72dad20333449f8e83cfb4ac8a64537a0b3a93fcde3cdad9f1ce58b26751f67a3cbb140b1808cf187a4f4dfc04b05357c5d1c0eeac4c66f9ff7f2e6rrŽrrrrs      rÚtest_aes_128_cfb128z$SP800TestVectors.test_aes_128_cfb128Ls¤€ð;ˆ    ð;ˆ
ð;ˆØ:ˆä˜‹nˆÜ r‹]ˆÜ˜iÓ(ˆ    Ü˜zÓ*ˆ
ä—‘˜œcŸl™l¨B¸SÔAˆØ ×јŸ™¨    Ó2°JÔ?Ü—‘˜œcŸl™l¨B¸SÔAˆØ ×јŸ™¨
Ó3°YÕ?rcóŒ—d}d}d}d}t|«}t|«}t|«}t|«}tj|tj|d¬«}|j    |j |«|«tj|tj|d¬«}|j    |j |«|«y)Nr›Ú€cdc80d6fddf18cab34c25909c99a417467ce7f7f81173621961a2b70171d3d7a2e1e8a1dd59b88b1c8e60fed1efac4c9c05f9f9ca9834fa042ae8fba584b09ffr”rŽrrrrs      rÚtest_aes_192_cfb128z$SP800TestVectors.test_aes_192_cfb128bs¥€ð;ˆ    ð;ˆ
ðKˆØ:ˆä˜‹nˆÜ r‹]ˆÜ˜iÓ(ˆ    Ü˜zÓ*ˆ
ä—‘˜œcŸl™l¨B¸SÔAˆØ ×јŸ™¨    Ó2°JÔ?Ü—‘˜œcŸl™l¨B¸SÔAˆØ ×јŸ™¨
Ó3°YÕ?rcóŒ—d}d}d}d}t|«}t|«}t|«}t|«}tj|tj|d¬«}|j    |j |«|«tj|tj|d¬«}|j    |j |«|«y)Nr›Ú€dc7e84bfda79164b7ecd8486985d386039ffed143b28b1c832113c6331e5407bdf10132415e54b92a13ed0a8267ae2f975a385741ab9cef82031623d55b1e471r˜rŽrrrrs      rÚtest_aes_256_cfb128z$SP800TestVectors.test_aes_256_cfb128xs¥€ð;ˆ    ð
;ˆ
ð[ˆØ:ˆä˜‹nˆÜ r‹]ˆÜ˜iÓ(ˆ    Ü˜zÓ*ˆ
ä—‘˜œcŸl™l¨B¸SÔAˆØ ×јŸ™¨    Ó2°JÔ?Ü—‘˜œcŸl™l¨B¸SÔAˆØ ×јŸ™¨
Ó3°YÕ?rN)
rArBrCÚ__doc__r‘r•r™rr r£rFrrr‰r‰s+„ñò@ò @ò @ò @ò,@ó,@rr‰có˜—g}|tt«z }|jd«r|tt«z }|tt«z }|S)NÚ
slow_tests)rrÚgetrHr‰)ÚconfigÚtestss  rÚ    get_testsrªsF€Ø €EØ    Œ_œXÓ &Ñ&€EØ ‡zz,ÔØ ”¤Ó0Ñ0ˆØ    Œ_Ô-Ó .Ñ.€EØ €LrÚ__main__có<—tjt««SrN)ÚunittestÚ    TestSuiterªrFrrrRrRšs€”H×&Ñ&¤y£{Ó3€rÚsuite)Ú defaultTest)$r­ÚbinasciirÚCrypto.SelfTest.loaderrÚCrypto.SelfTest.st_commonrÚCrypto.Util.py3compatrrÚ Crypto.Cipherrr    r
Ú Crypto.Hashr ÚCrypto.SelfTest.Cipher.test_CBCr rrÚTestCaserHÚnist_aes_kat_mmt_filesÚnist_aes_mct_filesÚ file_gen_namer;Úreplacer]rÚsetattrÚnist_tdes_filesr‰rªrAr¯ÚmainrFrrú<module>rÀsžðó>Ýå4Ý5ß4ß(Ñ(Ý å>ò8ô41Ð!ô41ônrX×&Ñ&ôrðlÐð&Ðð ,òC€MØòCˆØ!×)Ñ)¨#¨tÓ4ˆ    Ø%.°Tó    8ᐠ ¨iÑ 7¸ÕBñ    CðCð(òC€MØòCˆØ!×)Ñ)¨#¨tÓ4ˆ    Ø%.°Tó    8ᐠ ¨iÑ 7¸ÕBñ    CðCð ˆxð€ð%ò@€MØò5ˆØ!×)Ñ)¨#¨tÓ4ˆ    Ø%.°Tô    5ð5ñ ˆN˜L¨9Ñ4°hÕ?ð @ôu@x×(Ñ(ôu@ðpóð ˆzÒÙ 3€EØ€H‡MM˜gÖ&ðr