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
Ë
ž¬`iî/ãó$—ddlZddlmZddlmZddlmZddlmZddl    m
Z
ddl m Z m Z mZgd¢ZGd    „d
ej «ZGd „d ej «ZGd „dej «Zifd„Zedk(rd„Zej.d¬«yy)éN)Ú    unhexlify)Úlist_test_cases)ÚInteger)ÚSHAKE128)ÚECC)ÚEccKeyÚ    EccXPointÚ_curves))éé    )élûNÐ:sreÅ5¡FG;®â*ô!c(—}6~Fj!Ó )él<âv¿PœCØ'Aødt7GlUd|uU ^)élï*‘t0"¥+ów þ_b6…Rƒ}^¯x[LÎy)él1Eòê/ðOB)    Mc…všïOæWgrf&•&)r lºdMf›qðF_¸9áX™tV76#´ éôeHI+)él·j9a:H3 j¼?(w:q—Eóˆç âµ2s)éÿl³)G@+,c\ÅPvy*ª~¤A|QY»eèEÔ9¬p,4)élèP½Mv+YSYC0Èkš Ô}£CìBNm¥MºC)il%1!Z¿½]Eo¨C²v:p‚fAo4!Üoj’    ÒrAl)ilÏgèr c¢4í)O„t«Y\]    ›lwwøuô<¦)iÌUªl‡XR>„#¤»ÊsZ60>|šIÁôk|0ÂÀ,)lgx^rP)lf~¸ (Dš4­94H5 }$è„\Èdðzï59EÃP)lîSë9i “@eMó^¨w|or cóD—eZdZdZdZd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z y ) ÚTestEccPoint_Curve25519lè4!'ÅM¤Ië.ó>æ.<™ OoÀf åÀfY<ú    l“$+'UfbïCxDóm1,\qt¬<K?:‰!cóF—tdd«tddzdz
dzd«y)Nr Ú
curve25519r réé)r    ©Úselfs õ€H:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/PublicKey/test_ECC_Curve25519.pyÚ    test_initz!TestEccPoint_Curve25519.test_initDs"€Ü!\Ô"ܐ!S‘&˜2‘+ ‘/ <Õ0ócóT—tdd«}|j|jd«y)Nr rÚ
Curve25519)r    Ú assertEqualÚcurve©rÚpoints  rÚtest_curve_attributez,TestEccPoint_Curve25519.test_curve_attributeHs"€Ü˜!˜\Ó*ˆØ ×јŸ™ lÕ3rcó†—|jttdddzdz
zd«|jttdd«y)Nrr rrrr Ú
curve25518)Ú assertRaisesÚ
ValueErrorr    rs rÚtest_init_failz&TestEccPoint_Curve25519.test_init_failLs6€Ø ×Ñœ*¤i°°A°s±F¸R±K±À,ÔOØ ×Ñœ*¤i°°LÕArcó—t|jd«}t|jd«}|j||«|j    ||«|j |«|j|j |j «y©Nr)r    Úv1Úv2r!ÚassertNotEqualÚsetÚx©rÚpoint1Úpoint2s   rÚtest_equal_setz&TestEccPoint_Curve25519.test_equal_setPsf€Ü˜4Ÿ7™7 LÓ1ˆÜ˜4Ÿ7™7 LÓ1ˆà ×ј Ô(Ø ×јF FÔ+à
‰
6ÔØ ×јŸ™ 6§8¡8Õ,rcóœ—t|jd«}|j«}|j|j|j«yr,)r    r-Úcopyr!r1r2s   rÚ    test_copyz!TestEccPoint_Curve25519.test_copyZs5€Ü˜4Ÿ7™7 LÓ1ˆØ—‘“ˆØ ×јŸ™ 6§8¡8Õ,rcóä—t|jd«}|j«}|j|j««tdd«}|j|j««yr,)r    r-Úpoint_at_infinityÚ
assertTrue)rr3Úpair4s    rÚtest_paiz TestEccPoint_Curve25519.test_pai_sV€Ü˜4Ÿ7™7 LÓ1ˆØ×&Ñ&Ó(ˆØ ‰˜×-Ñ-Ó/Ô0ä˜4 Ó.ˆØ ‰˜×0Ñ0Ó2Õ3rcóL—tdd«}d|z}|j|j««d|z}|j|j««|dz}|j|jd«t
D]&\}}||z}|j|j|«Œ(y)Nr rrlíSë9i “@eMó^¨w|or )r    r;r:r!r1Úscalar_base9_test)rÚbaseÚpointHÚdÚresults     rÚtest_scalar_multiplyz,TestEccPoint_Curve25519.test_scalar_multiplygs™€Ü˜˜LÓ)ˆàT‘ˆØ ‰˜×0Ñ0Ó2Ô3àSÐVZÑZˆØ ‰˜×0Ñ0Ó2Ô3à˜‘ˆØ ×јŸ™ 1Ô%ä*ò    /‰IˆAˆvؘ‘XˆFØ × Ñ ˜VŸX™X vÕ .ñ    /rcóœ—tdd«}|j|j«d«|j|j«d«y)Nr rré )r    r!Ú size_in_bitsÚ size_in_bytesr#s  rÚ
test_sizesz"TestEccPoint_Curve25519.test_sizesws@€Ü˜!˜\Ó*ˆØ ×ј×+Ñ+Ó-¨sÔ3Ø ×ј×,Ñ,Ó.°Õ3rN) Ú__name__Ú
__module__Ú __qualname__r-r.rr%r*r5r8r=rDrI©rrrr?s5„à    K€BØ    K€Bò1ò4òBò-ò-ò
4ò/ó 4rrcó0—eZdZd„Zd„Zd„Zd„Zd„Zd„Zy)ÚTestEccKey_Curve25519cóÄ—td«}td«}tj|d¬«}td|¬«}|j    |j
|«|j |j««|j    |jj|«td«}td«}tj|d¬«}td|¬«}|j    |j
|«|j |j««|j    |jj|«td    |¬«}|jttd    d
¬ «y) NÚ@77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2aÚ@8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6aÚlittle©Ú    byteorderr ©r"ÚseedÚ@5dab087e624a8a4b79e17f8b83800ee66f3bb1292618b6fd1c2f8b27ff88e0ebÚ@de9edb7d7b7dc1b4d35b61c2ece435373f8343c85b78674dadfc7e146f882b4frr ©r"rB) rrÚ
from_bytesrr!rWr;Ú has_privateÚpointQr1r(r))rÚ
alice_privÚ    alice_pubÚ alice_pub_xÚkeyÚbob_privÚbob_pubÚ    bob_pub_xs        rÚtest_private_keyz&TestEccKey_Curve25519.test_private_keys€äÐaÓbˆ
ÜÐ`Óaˆ    Ü×(Ñ(¨¸hÔGˆ ä˜<¨jÔ9ˆØ ×јŸ™ :Ô.Ø ‰˜Ÿ™Ó)Ô*Ø ×јŸ™Ÿ™ {Ô3ôÐ_Ó`ˆÜÐ^Ó_ˆÜ×&Ñ& w¸(ÔCˆ    ä˜<¨hÔ7ˆØ ×јŸ™ 8Ô,Ø ‰˜Ÿ™Ó)Ô*Ø ×јŸ™Ÿ™ yÔ1ô˜<¨jÔ9ˆð     ×Ñœ*¤f°LÀAÐÕFrcóЗttdjd¬«}td|¬«}|j    |j ««|j |j|«y)Nr©r")r"r$)r    r
ÚGxrÚ assertFalser\r!r])rr$ras   rÚtest_public_keyz%TestEccKey_Curve25519.test_public_keyšsQ€Üœ' ,Ñ/×2Ñ2Ø ,ô.ˆä˜<¨uÔ5ˆØ ×јŸ™Ó*Ô+Ø ×јŸ™ UÕ+rcóȗtdd¬«}|j«}|j|j««|j    |j
|j
«y)Nró HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHrV)rÚ
public_keyrir\r!r])rÚpriv_keyÚpub_keys   rÚtest_public_key_derivedz-TestEccKey_Curve25519.test_public_key_derived¡sK€Ü  °7Ô;ˆØ×%Ñ%Ó'ˆØ ×ј×,Ñ,Ó.Ô/Ø ×јŸ™¨'¯.©.Õ9rcó2—|jtd„«y)Ncó—tdd¬«S)NróHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHrV)rrMrrú<lambda>z9TestEccKey_Curve25519.test_invalid_seed.<locals>.<lambda>¨s €¬f¸<ÈiÔ.X€r)r(r)rs rÚtest_invalid_seedz'TestEccKey_Curve25519.test_invalid_seed§s€Ø ×Ñœ*Ñ&XÕYrcó¢—tjdd¬«}tjdd¬«}tjdd¬«}|j«}|j«}|j«}|j||«|j    ||«|j||«|j    ||«|j    ||«y)Nrlr )rWr"rs CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC)rÚ    constructrmr!r/)rÚ private_keyÚ private_key2Ú private_key3rmÚ public_key2Ú public_key3s       rÚ test_equalityz#TestEccKey_Curve25519.test_equalityªs¬€Ü—m‘m¨¸ ÔEˆ Ü—}‘}¨'¸ÔFˆ Ü—}‘}¨'¸ÔFˆ à ×+Ñ+Ó-ˆ
Ø"×-Ñ-Ó/ˆ Ø"×-Ñ-Ó/ˆ à ×ј lÔ3Ø ×јK¨Ô6à ×ј [Ô1Ø ×јJ¨ Ô4à ×јJ¨ Õ4rcóò—tjd¬«}|jdt|««|j    |j
d«|j    |j «j
d«y)Nrrgzcurve='Curve25519'r )rÚgenerateÚassertInÚreprr!r"rm)rras  rÚtest_name_consistencyz+TestEccKey_Curve25519.test_name_consistency»sT€Ül‰l Ô.ˆØ  ‰ Ð*¬D°«IÔ6Ø ×јŸ™ LÔ1Ø ×јŸ™Ó)×/Ñ/°Õ>rN)    rJrKrLrerjrprur}r‚rMrrrOrO}s"„òGò6,ò:ò Zò5ó"?rrOcó—eZdZd„Zd„Zd„Zy)ÚTestEccModule_Curve25519cóh—tjd¬«}|j|j««t    t
dj d¬«|jz}|j|j|«tjd¬«}|j||«tjd¬«tjdtj«j¬«}tjdtj«j¬«}|j||«y)Nr rgr)r"Úrandfunc)rrr;r\r    r
rhrBr!r]r/rÚnewÚread)rrar$Úkey2Úkey1s     rÚ test_generatez&TestEccModule_Curve25519.test_generateÄsπ܏l‰l Ô.ˆØ ‰˜Ÿ™Ó)Ô*Üœ' ,Ñ/×2Ñ2¸,ÔGÈ#Ï%É%ÑOˆØ ×јŸ™ UÔ+ô|‰| ,Ô/ˆØ ×јC Ô&ô      ‰ ˜<Õ(ô|‰| ,¼¿¹»×9LÑ9LÔMˆÜ|‰| ,¼¿¹»×9LÑ9LÔMˆØ ×ј˜tÕ$rcó”—td«}td«}tj|d¬«}t|d¬«}t    j
d|¬«}|j |j|«|j|j««t    j
d|¬«}|j |j|«|j|j««t    j
d||¬    «}|j |j|«|j|j««t    j
d
|¬«}y) NrQrRrSrTr rgrV©r"Úpoint_x)r"rWrŽr) rrr[r    rrwr!r]r;r\ri)rrWÚ    point_hexÚPxr$ras      rÚtest_constructz'TestEccModule_Curve25519.test_constructÖs÷€ÜÐ[Ó\ˆÜÐ`Óaˆ    Ü × Ñ      °XÔ >ˆÜ˜" LÔ1ˆôm‰m ,°TÔ:ˆØ ×јŸ™ UÔ+Ø ‰˜Ÿ™Ó)Ô*ôm‰m ,¸Ô;ˆØ ×јŸ™ UÔ+Ø ×јŸ™Ó*Ô+ôm‰m ,°TÀ2ÔFˆØ ×јŸ™ UÔ+Ø ‰˜Ÿ™Ó)Ô*ôm‰m ,°TÔ:‰rcóÌ—ttdj¬«}|jtt
j fdddœ|¤Ž|jtt
j dd¬«|jtt
j dd¬    «|jtt
j dd
¬    «|jtt
j dd ¬    «|jtt
j dd ¬    «dd zdz
}|jtt
j d|d
z
¬    «|jtt
j d|¬    «|jtt
j d|d
z¬    «|jtt
j d|d z¬    «|jtt
j d|d z¬    «|jtt
j d|dzd
z
¬    «|jtt
j d|dz¬    «|jtt
j d|dzd
z¬    «y)Nr)rŽr r rZrsrVrrr làkõxíÂujaj\~|ObjZ®s”    ÛoP,E¯$¸l_+yŽBb$ :6gÁw[ˆ8câph[DS7èOWrr)Údictr
rhr(r)rrw)rÚcoordGÚps   rÚtest_negative_constructz0TestEccModule_Curve25519.test_negative_constructîs€Üœg lÑ3×6Ñ6Ô7ˆàˆ×Ñœ*¤c§m¡mÐW¸<È1ÑWÐPVÒWØ ×Ñœ*¤c§m¡m¸<ÈgÐÔVð     ×Ñœ*¤c§m¡m¸<Ø"#ð    ô    %à ×Ñœ*¤c§m¡m¸<Ø"#ð    ô    %à ×Ñœ*¤c§m¡m¸<Ø"mð    ô    oà ×Ñœ*¤c§m¡m¸<Ø"oð    ô    qà ˆs‰FR‰KˆØ ×Ñœ*¤c§m¡m¸<Ø"# A¡#ð    ô    'à ×Ñœ*¤c§m¡m¸<Ø"#ð    ô    %à ×Ñœ*¤c§m¡m¸<Ø"# A¡#ð    ô    'à ×Ñœ*¤c§m¡m¸<Ø"#Ð$oÑ"oð    ô    qà ×Ñœ*¤c§m¡m¸<Ø"#Ð$qÑ"qð    ô    sà ×Ñœ*¤c§m¡m¸<Ø"# A¡# a¡%ð    ô    )à ×Ñœ*¤c§m¡m¸<Ø"# A¡#ð    ô    'à ×Ñœ*¤c§m¡m¸<Ø"# A¡# a¡%ð    õ    )rN)rJrKrLr‹r‘r–rMrrr„r„Âs„ò%ò$;ó0)rr„cóv—g}|tt«z }|tt«z }|tt«z }|S©N)rrrOr„)ÚconfigÚtestss  rÚ    get_testsr›s<€Ø €EØ    Œ_Ô4Ó 5Ñ5€EØ    Œ_Ô2Ó 3Ñ3€EØ    Œ_Ô5Ó 6Ñ6€EØ €LrÚ__main__có<—tjt««Sr˜)ÚunittestÚ    TestSuiter›rMrrÚsuiter s€Ü×!Ñ!¤)£+Ó.Ð.rr )Ú defaultTest)ržÚbinasciirÚCrypto.SelfTest.st_commonrÚCrypto.Math.NumbersrÚ Crypto.HashrÚCrypto.PublicKeyrÚCrypto.PublicKey.ECCrr    r
r?ÚTestCaserrOr„r›rJr ÚmainrMrrú<module>rªsðó>Ýå5Ý'Ý å ß;Ñ;ò Ðô$;4˜h×/Ñ/ô;4ô|B?˜H×-Ñ-ôB?ôJK)˜x×0Ñ0ôK)ð\óð ˆzÒò/à€H‡MM˜gÖ&ðr