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
Ë
ž¬`iA6ã    ó¨—ddlZddlZddlmZddlmZddlmZddlm    Z    ddl
m Z ddl m Z mZddlmZmZmZmZmZmZmZmZmZdd    lmZdd
lmZdd lmZdd lmZddlm    Z    d „Z Gd„dejB«Z"Gd„dejB«Z#e dddd„d„d„dœ«xsgZ$e%e$«D]ð\Z&Z'e(e'e)«rŒe*e'd«r e'jVZ,Œ&e e'jZj]««Z/e/jae'jb«Z2ejfe,e'jhfDcgc]
}e|«‘Œ c}«Z5ej`e5«Z6e2e6e'jnfd„Z8e2e6e'jnfd„Z9e'jtdk(re;e#de&ze9«Œäe;e#de&ze8«ŒòGd„d ejB«Z<Gd!„d"ejB«Z=e dd#d$d%d&„i«xsgZ>e>e dd'd(d%d)„i«xsgz Z>e%e>«D]×\Z&Z'e(e'e)«rŒe*e'd«r e'jVZ,Œ&e*e'd*«rPejfe,e'jhe'j~fDcgc]
}e|«‘Œ c}«Z@ej`e@«ZAŒe e'jZj]««Z/e/jae'jb«Z2e2eAe'jnfd+„ZBe;e=d,e&zeB«ŒÙGd-„d.ejB«ZCGd/„d0ejB«ZDGd1„d2ejB«ZEGd3„d4ejB«ZFifd5„ZGeHd6k(rd7„ZIej”d8¬9«yycc}wcc}w):éN)Ú    unhexlify)Úbchr)Ú bytes_to_long)Ústrxor)Úlist_test_cases)Úload_test_vectorsÚload_test_vectors_wycheproof)    ÚSHA1ÚSHA224ÚSHA256ÚSHA384ÚSHA512ÚSHA3_384ÚSHA3_224ÚSHA3_256ÚSHA3_512)ÚRSA)Úpkcs1_15)Ú
PKCS1_v1_5)Úpycryptodome_filenamecóF—td|zt«t«dg«S)Nz Crypto.Hash.Únew)Ú
__import__ÚglobalsÚlocals)Ú    hash_names õzH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/Signature/test_pkcs1_15.pyÚload_hash_by_namer3s€Ü n yÑ0´'³)¼V»XÈÀwÓ OÐOócó—eZdZd„Zd„Zy)ÚFIPS_PKCS1_Verify_Testscó—y)NzFIPS PKCS1 Tests (Verify)©©Úselfs rÚshortDescriptionz(FIPS_PKCS1_Verify_Tests.shortDescription9s€Ø*rcó´—tjd«j«}tj|«}|j |j «d«y)NéF)rÚgenerateÚ
public_keyrrÚ assertEqualÚcan_sign)r%Útest_public_keyÚverifiers   rÚ test_can_signz%FIPS_PKCS1_Verify_Tests.test_can_sign<s@€ÜŸ,™, tÓ,×7Ñ7Ó9ˆÜ—<‘< Ó0ˆØ ×ј×*Ñ*Ó,¨eÕ4rN©Ú__name__Ú
__module__Ú __qualname__r&r/r#rrr!r!7s „ò+ó5rr!có —eZdZy)ÚFIPS_PKCS1_Verify_Tests_KATN©r1r2r3r#rrr5r5Bó„Ørr5)Ú    Signaturez
PKCS1-v1.5zSigVer15_186-3.rspzSignature Verification 186-3có—|S©Nr#©Úxs rú<lambda>r=Ió€°a€rcó—t|«Sr:)Úintr;s rr=r=Js
€´°Q³€rcó—|Sr:r#r;s rr=r=Kr>r)ÚshaalgÚdÚresultÚncó(—|j||«yr:)Úverify©r%Úhash_objr.Ú    signatures    rÚ positive_testrKZs€Ø‰˜ )Õ,rcóH—|jt|j||«yr:)Ú assertRaisesÚ
ValueErrorrGrHs    rÚ negative_testrO]s€Ø ×Ñœ* h§o¡o°xÀÕKrÚfztest_negative_%dztest_positive_%dcó—eZdZd„Zd„Zy)ÚFIPS_PKCS1_Sign_Testscó—y)NzFIPS PKCS1 Tests (Sign)r#r$s rr&z&FIPS_PKCS1_Sign_Tests.shortDescriptionhs€Ø(rcó˜—tjd«}tj|«}|j    |j «d«y)Nr(T)rr)rrr+r,)r%Útest_private_keyÚsigners   rr/z#FIPS_PKCS1_Sign_Tests.test_can_signks7€ÜŸ<™<¨Ó-ÐÜ—‘Ð.Ó/ˆØ ×јŸ™Ó*¨DÕ1rNr0r#rrrRrRfs „ò)ó2rrRcó —eZdZy)ÚFIPS_PKCS1_Sign_Tests_KATNr6r#rrrXrXqr7rrXzSigGen15_186-2.txtzSignature Generation 186-2rBcó—|Sr:r#r;s rr=r=xó€¸Q€rzSigGen15_186-3.txtzSignature Generation 186-3có—|Sr:r#r;s rr=r=}rZrÚecóJ—|j|«}|j||«yr:)Úsignr+)r%rIrVrDrJs     rÚnew_testr_s €Ø—K‘K Ó)ˆ    Ø ×ј FÕ+rztest_%dcó2—eZdZdZdZdZdZee«Zd„Z    y)ÚPKCS1_15_NoParamsz€Verify that PKCS#1 v1.5 signatures pass even without NULL parameters in
    the algorithm identifier (PyCrypto/LP bug #1119552).aP-----BEGIN RSA PRIVATE KEY-----
            MIIBOwIBAAJBAL8eJ5AKoIsjURpcEoGubZMxLD7+kT+TLr7UkvEtFrRhDDKMtuII
            q19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4UCAwEAAQJACUSDEp8RTe32ftq8IwG8
            Wojl5mAd1wFiIOrZ/Uv8b963WJOJiuQcVN29vxU5+My9GPZ7RA3hrDBEAoHUDPrI
            OQIhAPIPLz4dphiD9imAkivY31Rc5AfHJiQRA7XixTcjEkojAiEAyh/pJHks/Mlr
            +rdPNEpotBjfV4M4BkgGAA/ipcmaAjcCIQCHvhwwKVBLzzTscT2HeUdEeBMoiXXK
            JACAr3sJQJGxIQIgarRp+m1WSKV1MciwMaTOnbU7wxFs9DP1pva76lYBzgUCIQC9
            n0CnZCJ6IZYqSt0H5N7+Q+2Ro64nuwV/OSQfM6sBwQ==
            -----END RSA PRIVATE KEY-----sThis is a test
ڀa287a13517f716e72fb14eea8e33a8db4a4643314607e7ca3e3e281893db74013dda8b855fd99f6fecedcb25fcb7a434f35cd0a101f8b19348e0bd7b6f152dfccóޗtjtj|j««}t j|j «}|j||j«yr:)    rrrÚ    importKeyÚrsakeyr
ÚmsgrGrJ)r%r.Úhasheds   rÚrunTestzPKCS1_15_NoParams.runTest«sA€Ü—<‘<¤§ ¡ ¨d¯k©kÓ :Ó;ˆÜ—‘˜$Ÿ(™(Ó#ˆØ‰˜ §¡Õ/rN)
r1r2r3Ú__doc__rerfÚsig_strrrJrhr#rrrara”s-„ñ<ð-€Fð  €Cð%€Gñ˜'Ó"€Ió0rracó—eZdZdZd„Zd„Zy)ÚPKCS1_Legacy_Module_Testsz¸Verify that the legacy module Crypto.Signature.PKCS1_v1_5
    behaves as expected. The only difference is that the verify()
    method returns True/False and does not raise exceptions.có—y)Nz'Test legacy Crypto.Signature.PKCS1_v1_5r#r$s rr&z*PKCS1_Legacy_Module_Tests.shortDescription¶s€Ø8rcóÌ—tjtj«}t    j
d«}t j
|«j|«}t j
|j««}|j|j||«d«t|td«t|«z«}|j|j||«d«y)NóTestTéF)rrdrarer
rrr^r*r+rGrrÚlen)r%ÚkeyrgÚgood_signaturer.Ú bad_signatures      rrhz!PKCS1_Legacy_Module_Tests.runTest¹s¥€Üm‰mÔ-×4Ñ4Ó5ˆÜ—‘˜'Ó"ˆÜ#Ÿ™¨Ó,×1Ñ1°&Ó9ˆÜ—>‘> #§.¡.Ó"2Ó3ˆà ×јŸ™¨°Ó@À$ÔGô˜~¬t°A«w¼¸^Ó9LÑ/LÓMˆ Ø ×јŸ™¨°Ó?ÀÕGrN)r1r2r3rir&rhr#rrrlrl±s„ñ@ò9ó
Hrrlcó—eZdZd„Zd„Zy)ÚPKCS1_All_Hashes_Testscó—y)Nz8Test PKCS#1v1.5 signature in combination with all hashesr#r$s rr&z'PKCS1_All_Hashes_Tests.shortDescriptionÈs€ØIrcó|—tjd«}tj|«}d}|D]-}t    |«jd«}|j |«Œ/ddlm}m}dD]&}|j|d¬«}    |j |    «Œ(dD]&}|j|d¬«}
|j |
«Œ(y)    Nr() ÚMD2ÚMD4ÚMD5Ú    RIPEMD160r
r r r rrrrrror)ÚBLAKE2bÚBLAKE2s)éé é0é@)Ú digest_bytesÚdata)érér€)    rr)rrrr^Ú Crypto.Hashr}r~) r%rrrVÚ
hash_namesÚnamergr}r~Ú    hash_sizeÚhashed_bÚhashed_ss            rrhzPKCS1_All_Hashes_Tests.runTestËs¹€äl‰l˜4Ó ˆÜ—‘˜cÓ"ˆðFˆ
ðò     ˆDÜ& tÓ,×0Ñ0°Ó9ˆFØ K‰K˜Õ ð     ÷    1Ø)ò    "ˆIØ—{‘{°    À{ÓHˆHØ K‰K˜Õ !ð    "ð*ò    "ˆIØ—{‘{°    À{ÓHˆHØ K‰K˜Õ !ñ    "rN)r1r2r3r&rhr#rrrvrvÆs „òJó"rrvcó6—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z    y)    ÚTestVectorsWycheproofcó^—tjj|«||_d|_y)NÚNone)ÚunittestÚTestCaseÚ__init__Ú_wycheproof_warningsÚ_id)r%Úwycheproof_warningss  rr“zTestVectorsWycheproof.__init__âs%€Ü×Ñ×"Ñ" 4Ô(Ø$7ˆÔ!؈rcóþ—g|_|jd«|jd«|jd«|jd«|jd«|jd«|jd«|jd«|jd    «|jd
«|jd «|jd «|jd «|jd«|jd«|jd«|jd«|jd«|jd«|jd«|jd«|jd«y)Nzrsa_sig_gen_misc_test.jsonz#rsa_signature_2048_sha224_test.jsonz#rsa_signature_2048_sha256_test.jsonz#rsa_signature_2048_sha384_test.jsonz%rsa_signature_2048_sha3_224_test.jsonz%rsa_signature_2048_sha3_256_test.jsonz%rsa_signature_2048_sha3_384_test.jsonz%rsa_signature_2048_sha3_512_test.jsonz#rsa_signature_2048_sha512_test.jsonz'rsa_signature_2048_sha512_224_test.jsonz'rsa_signature_2048_sha512_256_test.jsonz#rsa_signature_3072_sha256_test.jsonz#rsa_signature_3072_sha384_test.jsonz%rsa_signature_3072_sha3_256_test.jsonz%rsa_signature_3072_sha3_384_test.jsonz%rsa_signature_3072_sha3_512_test.jsonz#rsa_signature_3072_sha512_test.jsonz'rsa_signature_3072_sha512_256_test.jsonz#rsa_signature_4096_sha384_test.jsonz#rsa_signature_4096_sha512_test.jsonz'rsa_signature_4096_sha512_256_test.jsonzrsa_signature_test.json)ÚtvÚ    add_testsr$s rÚsetUpzTestVectorsWycheproof.setUpçs'€ØˆŒØ ‰Ð3Ô4Ø ‰Ð<Ô=Ø ‰Ð<Ô=Ø ‰Ð<Ô=Ø ‰Ð>Ô?Ø ‰Ð>Ô?Ø ‰Ð>Ô?Ø ‰Ð>Ô?Ø ‰Ð<Ô=Ø ‰Ð@ÔAØ ‰Ð@ÔAØ ‰Ð<Ô=Ø ‰Ð<Ô=Ø ‰Ð>Ô?Ø ‰Ð>Ô?Ø ‰Ð>Ô?Ø ‰Ð<Ô=Ø ‰Ð@ÔAØ ‰Ð<Ô=Ø ‰Ð<Ô=Ø ‰Ð@ÔAØ ‰Ð0Õ1rc    óD—d„}d„}d„}td|d|z|||dœ¬«}|S)Ncó2—tj|d«S)NÚkeyPem)rÚ
import_key)Úgroups rÚ
filter_rsaz3TestVectorsWycheproof.add_tests.<locals>.filter_rsas€Ü—>‘> %¨¡/Ó2Ð 2rcóZ—|d}|dk(rtS|dk(rtjd¬«S|dk(rtjd¬«S|dk(rtS|d    k(rtS|d
k(rtS|d k(rt
S|d k(rt S|d k(rtS|dk(rtS|dk(rtStd|z«‚)NÚshazSHA-512z SHA-512/224Ú224)Útruncatez SHA-512/256Ú256zSHA3-512zSHA-384zSHA3-384zSHA-256zSHA3-256zSHA-224zSHA3-224zSHA-1zUnknown hash algorithm: ) rrrr rr rr rr
rN)rŸrs  rÚ
filter_shaz3TestVectorsWycheproof.add_tests.<locals>.filter_shas¿€Ø˜e™ ˆIؘIÒ%ܐ ؘmÒ+Ü—z‘z¨5Ô1Ð1ؘmÒ+Ü—z‘z¨5Ô1Ð1ؘjÒ(ܐؘiÒ'ܐ ؘjÒ(ܐؘiÒ'ܐ ؘjÒ(ܐؘiÒ'ܐ ؘjÒ(ܐؘgÒ%ܐ ä Ð!;¸iÑ!GÓHÐHrcó2—|d}|dvrtd|z«‚y)NÚtype)ÚRsassaPkcs1VerifyÚRsassaPkcs1GeneratezUnknown type name )rN)rŸÚ    type_names  rÚ filter_typez4TestVectorsWycheproof.add_tests.<locals>.filter_type s+€Ø˜f™ ˆIØРLÑLÜ Ð!5¸    Ñ!AÓBÐBðMr)r8Ú
wycheproofz$Wycheproof PKCS#1v1.5 signature (%s))Úrsa_keyÚhash_modr¨)Ú    group_tag)r    )r%Úfilenamer r¦r¬rDs      rr™zTestVectorsWycheproof.add_testssE€ò    3ò    Iò6    Cô
.Ð.IØ.6Ø.TÐW_Ñ._ØDNØEOØALñ9NôOˆð ˆ rcó—|jSr:)r•r$s rr&z&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.warn0s4€Ø :Š:˜$×3Ò3Û Ø MŠM¸4¿8»8ÀRÇZÃZÐPÕ Qð4ˆ:rcó¨—dt|j«z|_|jj    |j
«}t j|j«}    |j||j«}|jsJ‚|j|«y#t$r)}|jrYd}~y|jrJ‚Yd}~yd}~wwxYw)NzWycheproof RSA PKCS$#1 Test #)ÚstrÚidr•Ú hash_modulerrfrrrrGÚsigÚvalidr·rNrµ)r%r˜Ú
hashed_msgrVrJr\s      rÚ test_verifyz!TestVectorsWycheproof.test_verify5s›€Ø2´S¸¿¹³ZÑ?ˆŒà—^‘^×'Ñ'¨¯©Ó/ˆ
Ü—‘˜bŸf™fÓ%ˆð    ØŸ ™  j°"·&±&Ó9ˆIð —8’8ˆO8Ø I‰IbMøô ò     ØzŠzÜØ—x’xÐ <”xûð     úsÁ#B    CÂ( C Â9C à CcóH—|jD]}|j|«Œyr:)r˜rÀ)r%r˜s  rrhzTestVectorsWycheproof.runTestDs#€Ø—'‘'ò    !ˆBØ × Ñ ˜RÕ  ñ    !rN)
r1r2r3r“ršr™r&r·rÀrhr#rrrŽrŽàs'„òò
2ò2+òZòRò
ó!rrŽcóh—|jd«}g}|tt«z }|tt«z }|tt«z }|tt
«z }|tt «z }|t|«gz }|jd«r$|tt«z }|tt«z }|S)Nr–Ú
slow_tests)
Úgetrr!rRrarlrvrŽr5rX)Úconfigr–Útestss   rÚ    get_testsrÇIs¬€Ø Ÿ*™*Ð%:Ó;Ðà €EØ    Œ_Ô4Ó 5Ñ5€EØ    Œ_Ô2Ó 3Ñ3€EØ    Œ_Ô.Ó /Ñ/€EØ    Œ_Ô6Ó 7Ñ7€EØ    Œ_Ô3Ó 4Ñ4€EØ    Ô$Ð%8Ó9Ð ;Ñ;€Eà ‡zz,ÔØ ”Ô!<Ó=Ñ=ˆØ ”Ô!:Ó;Ñ;ˆà €LrÚ__main__có<—tjt««Sr:)r‘Ú    TestSuiterÇr#rrr=r=[s€”H×&Ñ&¤y£{Ó3€rÚsuite)Ú defaultTest)KÚjsonr‘ÚbinasciirÚCrypto.Util.py3compatrÚCrypto.Util.numberrÚCrypto.Util.strxorrÚCrypto.SelfTest.st_commonrÚCrypto.SelfTest.loaderrr    r‡r
r r r rrrrrÚCrypto.PublicKeyrÚCrypto.SignaturerrÚCrypto.Util._file_systemrrr’r!r5Útest_vectors_verifyÚ    enumerateÚcountr˜Ú
isinstancerºÚhasattrrEÚmodulusrBÚupperr¼rrfrIÚ    constructr\r*r.ÚsrKrOrDÚsetattrrRrXÚtest_vectors_signrCÚ private_keyrVr_rarlrvrŽrÇr1rËÚmainr;s0rú<module>rästðó> ÛÝå&Ý,Ý%Ý5ßR÷7÷7õ7å Ý%Ý'å:Ý%òPô5˜h×/Ñ/ô5ô     (×"3Ñ"3ô    ñ(Ð(CØ!5Ø!?Ù,7Ù'7Ù,7ñ"9ó:ò@ð
>@ð ñÐ.Ó/òXI€Eˆ2ِ"cÔØÙˆr3ÔØ—$‘$ˆØá# B§I¡I§O¡OÓ$5Ó6€K؏‰˜rŸv™vÓ&€Hؐ—‘¸7ÀBÇDÁD¸/ÖJ°Q¡ ¨aÕ 0ÒJÓK€J؈x|‰|˜JÓ'€Hà%-¸ÈBÏDÉDó-ð&.¸ÈBÏDÉDóLð
‡yyCÒÙÐ+Ð-?À%Ñ-GÈÕWáÐ+Ð-?À%Ñ-GÈÕWð+Xô02˜H×-Ñ-ô2ô     × 1Ñ 1ô    ñ'Ð'BØ(<Ø(DØ)1±;Ð(?óAòGðEGðð
Ñ&Ð'BØ(<Ø(DØ)1±;Ð(?óAòGðEGñGÐñ
Ð,Ó-òDI€Eˆ2ِ"cÔØÙˆr3ÔØ—$‘$ˆØÙˆr3ÔØ#c—m‘mÀÈÏÉÈrÏtÉtÐ?TÖ$U¸!¡]°1Õ%5Ò$UÓVˆ ؐ—‘˜kÓ*ˆØá# B§I¡I§O¡OÓ$5Ó6€K؏‰˜rŸv™vÓ&€Hà (°ÀÇÁó,ñ Ð % y°5Ñ'8¸(ÕCð%Dô*0˜×)Ñ)ô0ô:H × 1Ñ 1ôHô*"˜X×.Ñ.ô"ô4f!˜H×-Ñ-ôf!ðRóð" ˆzÒÙ 3€EØ€H‡MM˜gÖ&ðùòG Kùò^%Vs Ä+M
 
ÉM