hyb
2026-01-30 15bc7727b58bf9ca0c8f21702fa893daac232b8d
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
Ë
ž¬`iÛ+ãó—ddlmZddlZddlmZddlmZmZddlm    Z    ddl
m Z ddl mZddlmZmZdd    lmZd
„Zd „ZGd „d ej,«ZGd„dej,«Zifd„Zedk(rd„Zej8d¬«yy)é)Úprint_functionN)ÚRSA)Úlist_test_casesÚa2b_hex)ÚRandom)Ú
PKCS1_v1_5)Úb)Ú bytes_to_longÚ long_to_bytes©Úload_test_vectors_wycheproofcó8—dD]}|j|d«}Œ|S)z6Remove white spaces, tabs, and new lines from a string)ú
ú    ú Ú)Úreplace)ÚtÚcs  õwH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/Cipher/test_pkcs1_15.pyÚrwsr$s&€à òˆØ I‰Ia˜Ó ‰ðà €Hócóx—tt|««}t|«dzdk(r td«‚t    |«S)z=Convert a text string with bytes in hex form to a byte stringééz"Even number of characters expected)r    rÚlenÚ
ValueErrorr)rÚcleans  rÚt2br+s5€ä Œc!‹f‹I€EÜ
ˆ5ƒzA~˜ÒÜÐ=Ó>Ð>Ü 5‹>ÐrcóL—eZdZd„ZdZd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z y ) ÚPKCS1_15_Testscó”—tj«j|_t    j
d|j«|_y)Ni)rÚnewÚreadÚrngrÚgenerateÚkey1024©Úselfs rÚsetUpzPKCS1_15_Tests.setUp5s+€Ü!Ÿ:™:›<×,Ñ,”Ü"Ÿ|™|¨D°$·(±(Ó;• r))av-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDAiAnvIAOvqVwJTaYzsKnefZftgtXGE2hPJppGsWl78yz9jeXY
W/FxX/gTPURArNhdnhP6n3p2ZaDIBrO2zizbgIXs0IsljTTcr4vnI8fMXzyNUOjA
zP3nzMqZDZK6757XQAobOssMkBFqRWwilT/3DsBhRpl3iMUhF+wvpTSHewIDAQAB
AoGAC4HV/inOrpgTvSab8Wj0riyZgQOZ3U3ZpSlsfR8ra9Ib9Uee3jCYnKscu6Gk
y6zI/cdt8EPJ4PuwAWSNJzbpbVaDvUq25OD+CX8/uRT08yBS4J8TzBitZJTD4lS7
atdTnKT0Wmwk+u8tDbhvMKwnUHdJLcuIsycts9rwJVapUtkCQQDvDpx2JMun0YKG
uUttjmL8oJ3U0m3ZvMdVwBecA0eebZb1l2J5PvI3EJD97eKe91Nsw8T3lwpoN40k
IocSVDklAkEAzi1HLHE6EzVPOe5+Y0kGvrIYRRhncOb72vCvBZvD6wLZpQgqo6c4
d3XHFBBQWA6xcvQb5w+VVEJZzw64y25sHwJBAMYReRl6SzL0qA0wIYrYWrOt8JeQ
8mthulcWHXmqTgC6FEXP9Es5GD7/fuKl4wqLKZgIbH4nqvvGay7xXLCXD/ECQH9a
1JYNMtRen5unSAbIOxRcKkWz92F0LKpm9ZW/S9vFHO+mBcClMGoKJHiuQxLBsLbT
NtEZfSJZAeS2sUtn3/0CQDb2M2zNBTF8LlM0nxmh0k9VGm5TVIyBEMcipmvOgqIs
HKukWBcq9f/UOmS0oEhai/6g+Uf7VHJdWaeO5LzuvwU=
-----END RSA PRIVATE KEY-----zTHIS IS PLAINTEXT
a÷3f dc fd 3c cd 5c 9b 12  af 65 32 e3 f7 d0 da 36
                8f 8f d9 e3 13 1c 7f c8  b3 f9 c1 08 e4 eb 79 9c
                91 89 1f 96 3b 94 77 61  99 a4 b1 ee 5d e6 17 c9
                5d 0a b5 63 52 0a eb 00  45 38 2a fb b0 71 3d 11
                f7 a1 9e a7 69 b3 af 61  c0 bb 04 5b 5d 4b 27 44
                1f 5b 97 89 ba 6a 08 95  ee 4f a2 eb 56 64 e5 0f
                da 7c f9 9a 61 61 06 62  ed a0 bc 5f aa 6c 31 78
                70 28 1a bb 98 3c e3 6a  60 3c d1 0b 0f 5a f4 75a eb d7 7d 86 a4 35 23 a3 54 7e 02 0b 42 1d
                61 6c af 67 b8 4e 17 56 80 66 36 04 64 34 26 8a
                47 dd 44 b3 1a b2 17 60 f4 91 2e e2 b5 95 64 cc
                f9 da c8 70 94 54 86 4c ef 5b 08 7d 18 c4 ab 8d
                04 06 33 8f ca 15 5f 52 60 8a a1 0c f5 08 b5 4c
                bb 99 b8 94 25 04 9c e6 01 75 e6 f9 63 7a 65 61
                13 8a a7 47 77 81 ae 0d b8 2c 4d 50 a5c
ó2—|jD]ˆ}tj|d«}Gd„d«}tj||t |d««¬«}|j t|d««}|j|t |d««ŒŠy)Nrcó—eZdZd„Zd„Zy)ú,PKCS1_15_Tests.testEncrypt1.<locals>.randGencó —||_d|_y)Nr©ÚdataÚidx)r)r0s  rÚ__init__z5PKCS1_15_Tests.testEncrypt1.<locals>.randGen.__init__ss€Ø,0 ¤    Ø+, ¥rcó|—|j|j|j|z}|xj|z c_|S©Nr/)r)ÚNÚrs   rÚ__call__z5PKCS1_15_Tests.testEncrypt1.<locals>.randGen.__call__vs0€Ø$(§I¡I¨d¯h©h°t·x±xÀ±zÐ$B Ø $§¢¨A¡ ¥Ø'( rN)Ú__name__Ú
__module__Ú __qualname__r2r7©rrÚrandGenr-rs „ò-ó)rr<é)Úrandfuncrr)    Ú    _testDatarÚ    importKeyÚPKCSr#rÚencryptr    Ú assertEqual)r)ÚtestÚkeyr<ÚcipherÚcts      rÚ testEncrypt1zPKCS1_15_Tests.testEncrypt1ls~€Ø ŸN™Nò;Dä!Ÿm™m¨D°©GÓ4˜÷)ñ)ô"&§¡¨#¹ÄÀDÈÁGà Ó8MÔ!N˜Ø#Ÿ^™^¬A¨d°1©g«JÓ7˜Ø×(Ñ(¨¬S°°a±«\Õ:ñ!;rcóˆ—d}tj|j«}|jt|j
|«y)Nzv)rAr#r'Ú assertRaisesrrB)r)ÚptrFs   rÚ testEncrypt2zPKCS1_15_Tests.testEncrypt2s/€à&ÜŸ™ $§,¡,Ó/Ø×!Ñ!¤*¨f¯n©n¸bÕArcó`—|jD]Ÿ}tj|d«}t|d«}t    |d«}t j |«}|j|d«}|j||«|j|dt|«z«}|j||«Œ¡y)Nrrróÿ)
r?rr@r    rrAr#ÚdecryptrCr)r)rDrEÚ expected_ptrGrFrKs       rÚ testVerify1zPKCS1_15_Tests.testVerify1…sš€ØŸ™ò 2Ü—m‘m D¨¡GÓ,Ü  Q¡›j ܘ˜a™“\ÜŸ™ #›ð—^‘^ B¨Ó-Ø× Ñ   [Ô1à—^‘^ B¨´#°kÓ2BÑ(BÓCØ× Ñ   [Õ1ñ 2rcóˆ—tj|j«}|jt|j
dd«|jt|j
dd«t d«}t|«}|jj|«}t|d«}|jd|j |d««y)Nzz---zu‡ÿÿÿÿÿÿÿEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEé€s---) rAr#r'rJrrOr    r
Ú_encryptr rC)r)rFrKÚpt_intÚct_intrGs      rÚ testVerify2zPKCS1_15_Tests.testVerify2“s˜€ô—X‘X˜dŸl™lÓ+ˆFØ × Ñ œj¨&¯.©.¸*ÀeÔ LØ × Ñ œj¨&¯.©.¸*ÀeÔ LôÐ>Ó?ˆBÜ" 2Ó&ˆFØ—\‘\×*Ñ*¨6Ó2ˆFܘv sÓ+ˆBØ × Ñ ˜V V§^¡^°B¸Ó%?Õ @rcóö—tdd«D]j}|j|«}tj|j«}|j |«}|j |d|z«}|j||«Œly)Nrévóª)Úranger%rAr#r'rBrOrC)r)Úpt_lenrKrFrGÚpt2s      rÚtestEncryptVerify1z!PKCS1_15_Tests.testEncryptVerify1¢sm€ô   <Ó0ò *Ø—X‘X˜fÓ%ÜŸ™ $§,¡,Ó/Ø—^‘^ BÓ'Ø—n‘n R¨°6Ñ)9Ó:Ø× Ñ   SÕ)ñ  *rcóJ—tj|j«}d}|j|«}d}|j    ||d«}|j ||«|j    ||d«}|j ||«|j    ||d«}|j ||«y)Ns5555555555555555sªªªªªªªªªªªªªªªªééé)rAr#r'rBrOrC)r)rFrKrGÚsentinelÚpt_AÚpt_BÚpt_Cs        rÚtest_encrypt_verify_exp_pt_lenz-PKCS1_15_Tests.test_encrypt_verify_exp_pt_len¬s’€ä—X‘X˜dŸl™lÓ+ˆF؈BØ—‘ Ó#ˆBØ#ˆHà—>‘> " h°Ó3ˆDØ × Ñ ˜R Ô &à—>‘> " h°Ó3ˆDØ × Ñ ˜X tÔ ,à—>‘> " h°Ó3ˆDØ × Ñ ˜X tÕ ,rcóì—d}tj|j«}|jt    |««}|j t    |«dt |«z«}|j||«y)NóXERõÿ)rAr#r'rBÚ    bytearrayrOrrC©r)rKrFrGr]s     rÚ testByteArrayzPKCS1_15_Tests.testByteArray¼sX€ØˆBÜ—X‘X˜dŸl™lÓ+ˆFØ—‘¤    ¨"£ Ó.ˆBØ—.‘.¤¨2£°¼¸R»Ñ0@ÓAˆCØ × Ñ ˜R Õ %rcó—d}tj|j«}|jt    t |«««}|j t    t |««dt|«z«}|j||«y)NrirN)    rAr#r'rBÚ
memoryviewrkrOrrCrls     rÚtestMemoryviewzPKCS1_15_Tests.testMemoryviewÃsb€ØˆBÜ—X‘X˜dŸl™lÓ+ˆFØ—‘¤
¬9°R«=Ó 9Ó:ˆBØ—.‘.¤¬I°b«MÓ!:¸GÄcÈ"ÃgÑ<MÓNˆCØ × Ñ ˜R Õ %rcó—d}tj|j«}|j|«}|j    t |t ««|j|d«}|j    t |t ««y)NsXYZsªªª)rAr#r'rBÚ
assertTrueÚ
isinstanceÚbytesrOrls     rÚtest_return_typezPKCS1_15_Tests.test_return_typeÊs]€ØˆBÜ—X‘X˜dŸl™lÓ+ˆFØ—‘ Ó#ˆBØ O‰OœJ r¬5Ó1Ô 2Ø—.‘.  [Ó1ˆCØ O‰OœJ s¬EÓ2Õ 3rN)r8r9r:r*r?rHrLrQrWr^rgrmrprur;rrr!r!3s>„ò    <ð*
ˆ    òX    ;ò&    Bò     2ò     Aò    *ò    -ò     &ò    &ó    4rr!có6—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z    y)    ÚTestVectorsWycheproofcól—tjj|«||_||_d|_y)NÚNone)ÚunittestÚTestCaser2Ú_wycheproof_warningsÚ_skip_slow_testsÚ_id)r)Úwycheproof_warningsÚskip_slow_testss   rr2zTestVectorsWycheproof.__init__Õs-€Ü×Ñ×"Ñ" 4Ô(Ø$7ˆÔ!Ø /ˆÔ؈rcó4—d„}td|d|zd|i¬«}|S)Ncó2—tj|d«S)NÚ privateKeyPem)rÚ
import_key)Úgroups rÚ
filter_rsaz4TestVectorsWycheproof.load_tests.<locals>.filter_rsaÝs€Ü—>‘> %¨Ñ"8Ó9Ð 9r)ÚCipherÚ
wycheproofzWycheproof PKCS#1v1.5 (%s)Úrsa_key)Ú    group_tagr )r)Úfilenamer†Úresults    rÚ
load_testsz TestVectorsWycheproof.load_testsÛs0€ò    :ô.Ð.FØ.6Ø.JÈXÑ.UØ9BÀJÐ8Oô0ˆð
ˆ rcó(—g|_|jj|jd««|jsU|jj|jd««|jj|jd««yy)Nzrsa_pkcs1_2048_test.jsonzrsa_pkcs1_3072_test.jsonzrsa_pkcs1_4096_test.json)ÚtvÚextendrr}r(s rr*zTestVectorsWycheproof.setUpçse€ØˆŒØ ‰‰t—‘Ð'AÓBÔCØ×$Ò$Ø G‰GN‰N˜4Ÿ?™?Ð+EÓFÔ GØ G‰GN‰N˜4Ÿ?™?Ð+EÓFÕ Gð%rcó—|jSr4)r~r(s rÚshortDescriptionz&TestVectorsWycheproof.shortDescriptionîs €Øx‰xˆrcó˜—|jr>|jr1ddl}|jd|j›d|j
›d«yyy)NrzWycheproof warning: z (ú))Úwarningr|ÚwarningsÚwarnr~Úcomment)r)rr–s   rr—zTestVectorsWycheproof.warnñs4€Ø :Š:˜$×3Ò3Û Ø MŠM¸4¿8»8ÀRÇZÃZÐPÕ Qð4ˆ:rcó—d|jz|_dtdt|j««z}t j |j«}    |j|j|¬«}||k(r|jr>J‚|jsJ‚|j||j«|j|«yy#t$r|jrJ‚YywxYw)Nz&Wycheproof Decrypt PKCS#1v1.5 Test #%srZr=)rc)Úidr~ÚmaxrÚmsgrAr#r‰rOrGÚvalidrCr—r)r)rrcrFrKs     rÚ test_decryptz"TestVectorsWycheproof.test_decryptös»€Ø;¸b¿e¹eÑCˆŒØœS ¤C¨¯©£KÓ0Ñ0ˆÜ—‘˜"Ÿ*™*Ó%ˆð
    Ø—‘ §¡°Ó9ˆBðXŠ~ØŸ8š8Ð#|à—x’xxØ× Ñ   R§V¡VÔ,Ø—    ‘    ˜"• ð    $øô    ò     Ø—x’xÐ <‘xð     úsÁCÃCÃCcóH—|jD]}|j|«Œyr4)rrž)r)rs  rÚrunTestzTestVectorsWycheproof.runTests#€à—'‘'ò    "ˆBØ × Ñ ˜bÕ !ñ    "rN)
r8r9r:r2rr*r’r—ržr r;rrrwrwÓs'„òò
òHòòRò
ó "rrwcó”—|jd« }|jd«}g}|tt«z }|t||«gz }|S)NÚ
slow_testsr)Úgetrr!rw)Úconfigr€rÚtestss    rÚ    get_testsr¦ sR€Ø Ÿ*™* \Ó2Ð2€OØ Ÿ*™*Ð%:Ó;Ðà €EØ    Œ_œ^Ó ,Ñ,€EØ    Ô#Ð$7¸ÓIÐ JÑJ€EØ €LrÚ__main__có<—tjt««Sr4)rzÚ    TestSuiter¦r;rrÚsuiterªs€Ü×!Ñ!¤)£+Ó.Ð.rrª)Ú defaultTest)Ú
__future__rrzÚCrypto.PublicKeyrÚCrypto.SelfTest.st_commonrrÚCryptorÚ Crypto.CipherrrAÚCrypto.Util.py3compatr    ÚCrypto.Util.numberr
r ÚCrypto.SelfTest.loaderr rrr{r!rwr¦r8rªÚmainr;rrú<module>rµs€ðõ.&ãå ß>ÝÝ,Ý#ß;Ý?ò òô]4X×&Ñ&ô]4ô@6"˜H×-Ñ-ô6"ðróð ˆzÒò/à€H‡MM˜gÖ&ðr