hyb
2026-01-30 7657e1b2fa251a2ea372710ad75cb395a3c0e374
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
Ë
ž¬`i¹7ãó(—ddlZddlmZddlmZddlmZddlmZddl    m
Z
m Z m Z ddl mZddlmZGd    „d
ej"«ZGd „d ej"«ZGd „dej"«Zifd„Zedk(rd„Zej0d¬«yy)éN)Ú    unhexlify)Úlist_test_cases)Úload_test_vectors)ÚECC)ÚEccPointÚ_curvesÚEccKey)ÚInteger)ÚSHAKE128cóؗeZdZdddœZdddœZdddœZeeded    d
¬ «Zeeded    d
¬ «Zeeded    d
¬ «Z    d „Z
d „Z d„Z d„Z d„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zy)ÚTestEccPoint_Ed25519ìUK‚5±J,{´$%Xci\¸-÷G'
lJ[sii!ìXfÌL™33ffÌL™33ffÌL™33ffÌL™33ff)ÚxÚyìN‡P8-øEô:EÇ,Ïg`tÛ!ÐC@Ö'&«6ìÉ#ñU¹úr`
YT‡—V>D&#÷Ú!8eHBùf`"l\bñ'!cjI,`Ì!c:5ûPs%ÿéQ¤%N®glÔ4ëq!!@0€dÙv Ÿw=M€9 5:5Mû]èXgrrÚed25519©ÚcurvecóP—|j|jjd«y)NÚEd25519)Ú assertEqualÚpointGr©Úselfs õ}H:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/PublicKey/test_ECC_Ed25519.pyÚtest_curve_attributez)TestEccPoint_Ed25519.test_curve_attribute<s€Ø ×јŸ™×*Ñ*¨IÕ6ócó€—t|jd|jdd¬«tddd¬«}|j|jd«|j|jd«|j|j
d«|j j«}|j|jd«|j|jd    «|j|j
|j|jf«|jj«}|j|jd
«|j|jd «|j|j
|j|jf«td d d¬«|jttddd¬«y)Nrrrrré)rr!rrrrì3r]ds
Y|CO~ \^K[D_ç{Î?kx+ŸSýIìíHí,~Ñ5a(¢21fŒ$&Rpc~ÍU?&ÙH_)rrré"é#) rÚGxyrrrÚxyrÚcopyÚpointG2Ú assertRaisesÚ
ValueError)rÚpaiÚbpÚbp2s    rÚ test_init_xyz!TestEccPoint_Ed25519.test_init_xy?sT€Ü—‘˜#‘ §¡¨¡ °YÕ?ôq˜! 9Ô-ˆØ ×јŸ™ Ô"Ø ×јŸ™ Ô"Ø ×јŸ™ Ô(ð[‰[× Ñ Ó ˆØ ×јŸ™ÐlÔmØ ×јŸ™ÐlÔmØ ×јŸ™ §¡ r§t¡t  Ô-ðl‰l×ÑÓ!ˆØ ×јŸ™РmÔnØ ×јŸ™РmÔnØ ×јŸ™ #§%¡%¨¯© Ô0ô    Ð`Ø`Ø õ    "ð
     ×Ñœ*¤h°°B¸iÐÕHrcó—tddd¬«}|j|j«|j|j|jj«|j|j
|jj
«y©Nrr!rr)rÚsetrrrr©rÚpointWs  rÚtest_setzTestEccPoint_Ed25519.test_set\sX€Ü˜!˜Q iÔ0ˆØ
‰
4—;‘;ÔØ ×јŸ™ 4§;¡;§=¡=Ô1Ø ×јŸ™ 4§;¡;§=¡=Õ1rcóø—|jj«}|j|j|jj«|j|j|jj«y©N)rr(rrrr3s  rÚ    test_copyzTestEccPoint_Ed25519.test_copybsL€Ø—‘×!Ñ!Ó#ˆØ ×јŸ™ 4§;¡;§=¡=Ô1Ø ×јŸ™ 4§;¡;§=¡=Õ1rcóܗ|jj«}|jj«}|j|j|«|j    |j|«yr7)rr(r)rÚassertNotEqual)rÚpointHÚpointIs   rÚ
test_equalzTestEccPoint_Ed25519.test_equalgsN€Ø—‘×!Ñ!Ó#ˆØ—‘×"Ñ"Ó$ˆØ ×јŸ™ fÔ-Ø ×јDŸK™K¨Õ0rcóž—tddd¬«}|j|j««|j||j    ««yr1)rÚ
assertTrueÚis_point_at_infinityrÚpoint_at_infinity)rr,s  rÚtest_paizTestEccPoint_Ed25519.test_paims>€Üq˜! 9Ô-ˆØ ‰˜×0Ñ0Ó2Ô3Ø ×ј˜c×3Ñ3Ó5Õ6rcó֗|j }|jdz}||dzz}|j|j««||z}|jdz}|j||«y)Nédéc)rr?r@r)rÚnegGÚG100Úsum_zeroÚsum_99Úexpecteds      rÚ test_negatez TestEccPoint_Ed25519.test_negaterse€Ø— ‘ ˆ|ˆØ{‰{˜SÑ ˆØ˜$ ™*Ñ$ˆØ ‰˜×5Ñ5Ó7Ô8à˜‘ˆØ—;‘; Ñ#ˆØ ×ј Õ*rcóv—|j|j|jz|j«|j|j|jz|j«|j|j|jj    «z|j«|j|jj    «|jz|j«|j|jz}|j|j
d«|j|j d«y)Nr"r#)rrr)ÚpointG3rArr)rÚG5s  rÚ test_additionz"TestEccPoint_Ed25519.test_addition|sԀØ ×јŸ™ t§|¡|Ñ3°T·\±\ÔBØ ×јŸ™¨¯ © Ñ3°T·\±\ÔBØ ×јŸ™¨¯ © ×(EÑ(EÓ(GÑGÈÏÉÔVØ ×јŸ™×6Ñ6Ó8¸4¿<¹<ÑGÈÏÉÔVà \‰\˜DŸL™LÑ (ˆØ ×јŸ™ÐlÔmØ ×јŸ™ÐlÕmrcóV—|jj«}||jz }|j||j«||jz }|j||j«||jj «z }|j||j«yr7)rr(rr)rMrA)rr;s  rÚtest_inplace_additionz*TestEccPoint_Ed25519.test_inplace_addition†sƒ€Ø—‘×!Ñ!Ó#ˆØ$—+‘+ÑˆØ ×ј §¡Ô.ؐ$—+‘+ÑˆØ ×ј §¡Ô.ؐ$—+‘+×/Ñ/Ó1Ñ1ˆØ ×ј §¡Õ.rcó°—|jj«}|j«|j|j|j
j«|j|j |j
j «|jj«}|j«}|j«|j||«yr7)rr(Údoublerrr)rrA)rr;r,ÚpointRs    rÚ test_doublingz"TestEccPoint_Ed25519.test_doublings€Ø—‘×!Ñ!Ó#ˆØ ‰ ŒØ ×јŸ™ 4§<¡<§>¡>Ô2Ø ×јŸ™ 4§<¡<§>¡>Ô2ðk‰k×+Ñ+Ó-ˆØ—‘“ˆØ ‰ ŒØ ×ј Õ%rcó¨—d}||jz}|j|jd«|j|jd«d}||jz}|j|j|jj«|j|j|jj«d}||jz}|j|j|jj«|j|j|jj«d}||jz}|j|j|j
j«|j|j|j
j«d}||jz}|j|jd«|j|jd«d}||jz}|j|jd    «|j|jd
«d }||jz}|j|jd «|j|jd «d}||jz}|j|jd«|j|jd«d}||jz}|j|jd«|j|jd«d}||jz}|j|jd«|j|jd«y)Nrr!ééélpx“    _ÕItTÂyd0Ï9yAjèa¥.2h(~³UmT= l/d‡-Åy áEº yLlâ*Äup¼2ÅrtÐGér"r#é
lOyï‰|¨$Dß¶G? w yJ;°GT®M2 ¿<,`l,{ÐUÁRCT;<O!S;%O1"Sj"Ž|Žd†U~cél¯y™VΠ   ÇZD)³CŠBiun÷Uë]õSu;å2<gl8Zx^io‹i ,U…oç8¾pk
ÇEñQæUSA‰-Öuléÿl
 
£+÷p§ R'
+ĪKC0ŸkR„qPQ|ŸqtQlÌaj53ÌTotȺËKa1ë*lO|=”<#^S\1élV%…tsÅÒv*,í>¼ZÔI¨ š^Nn~—=‡Sö~^lÇvÙ,Å¡p€û$°fž }L&*]/¿O |®:U)rrrrr)rM)rÚdr;s   rÚtest_scalar_multiplyz)TestEccPoint_Ed25519.test_scalar_multiply›s‚€Ø ˆØT—[‘[‘ˆØ ×јŸ™ 1Ô%Ø ×јŸ™ 1Ô%à ˆØT—[‘[‘ˆØ ×јŸ™ 4§;¡;§=¡=Ô1Ø ×јŸ™ 4§;¡;§=¡=Ô1à ˆØT—[‘[‘ˆØ ×јŸ™ 4§<¡<§>¡>Ô2Ø ×јŸ™ 4§<¡<§>¡>Ô2à ˆØT—[‘[‘ˆØ ×јŸ™ 4§<¡<§>¡>Ô2Ø ×јŸ™ 4§<¡<§>¡>Ô2à ˆØT—[‘[‘ˆØ ×јŸ™Ð#pÔqØ ×јŸ™Ð#pÔqà ˆØT—[‘[‘ˆØ ×јŸ™Ð#pÔqØ ×јŸ™Ð#pÔqà ˆØT—[‘[‘ˆØ ×јŸ™Ð#pÔqØ ×јŸ™Ð#pÔqà ˆØT—[‘[‘ˆØ ×јŸ™Ð#pÔqØ ×јŸ™Ð#oÔpà ˆØT—[‘[‘ˆØ ×јŸ™Ð#pÔqØ ×јŸ™Ð#pÔqà ˆØT—[‘[‘ˆØ ×јŸ™Ð#pÔqØ ×јŸ™Ð#oÕprcó¬—|j|jj«d«|j|jj«d«y)Nr]é )rrÚ size_in_bitsÚ size_in_bytesrs rÚ
test_sizeszTestEccPoint_Ed25519.test_sizesÎs<€Ø ×јŸ™×1Ñ1Ó3°SÔ9Ø ×јŸ™×2Ñ2Ó4°bÕ9rN)Ú__name__Ú
__module__Ú __qualname__r&ÚG2xyÚG3xyrrr)rMrr/r5r8r=rBrKrOrQrUr`re©rrr r -s¶„à]Ø]ñ _€Cð_Ø^ñ `€Dð_Ø]ñ _€Dñc˜#‘h  C¡°    Ô :€Fِt˜C‘y $ s¡)°9Ô=€Gِt˜C‘y $ s¡)°9Ô=€Gò7òIò:2ò 2ò
1ò 7ò
+ònò/ò
&ò1qóf:rr có0—eZdZd„Zd„Zd„Zd„Zd„Zd„Zy)ÚTestEccKey_Ed25519cóº—td«}d}d}td|¬«}|j|j|«|j|jd«|j |j ««|j|jj|«|j|jj|«t||d«}td||¬«}|j|jd«|j |j ««|j|j|«td|¬«}|jttdd    ¬
«y) NÚ@9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60ìÎEìnõ<    KBc”ê    Å ì!ƒ5?)…&ç
MpÐUì×Z0FU8[=Ét2²:ÂeÍk6RrU@ZûQr©rÚseedì0| >!™Y,$Ï%<0…<}ÿO e<Z¼È&éOr)rrsÚpointr!©rr_) rr    rrsr_r?Ú has_privateÚpointQrrrr*r+)rrsÚPxÚPyÚkeyrus      rÚtest_private_keyz#TestEccKey_Ed25519.test_private_keyÕs€ÜÐ[Ó\ˆØ ZˆØ Zˆä˜9¨4Ô0ˆØ ×јŸ™ 4Ô(Ø ×јŸ™РmÔnØ ‰˜Ÿ™Ó)Ô*Ø ×јŸ™Ÿ™ rÔ*Ø ×јŸ™Ÿ™ rÔ*䘘R Ó+ˆÜ˜9¨4°uÔ=ˆØ ×јŸ™РmÔnØ ‰˜Ÿ™Ó)Ô*Ø ×јŸ™ UÔ+ô˜9¨4Ô0ˆð     ×Ñœ*¤f°IÀÐÕCrcóô—ttdjtdjd¬«}t    d|¬«}|j |j ««|j|j|«y)Nrr)rru)    rrÚGxÚGyr    Ú assertFalserwrrx)rrur{s   rÚtest_public_keyz"TestEccKey_Ed25519.test_public_keyís[€Üœ Ñ+×.Ñ.´¸    Ñ0B×0EÑ0EÈYÔWˆÜ˜9¨EÔ2ˆØ ×јŸ™Ó*Ô+Ø ×јŸ™ UÕ+rcóȗtdd¬«}|j«}|j|j««|j    |j
|j
«y)Nró HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHrr)r    Ú
public_keyr€rwrrx)rÚpriv_keyÚpub_keys   rÚtest_public_key_derivedz*TestEccKey_Ed25519.test_public_key_derivedósK€Ü     °Ô8ˆØ×%Ñ%Ó'ˆØ ×ј×,Ñ,Ó.Ô/Ø ×јŸ™¨'¯.©.Õ9rcó2—|jtd„«y)Ncó—tdd¬«S)NróHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHrr)r    rkrrú<lambda>z6TestEccKey_Ed25519.test_invalid_seed.<locals>.<lambda>ús €¬f¸9È9Ô.U€r)r*r+rs rÚtest_invalid_seedz$TestEccKey_Ed25519.test_invalid_seedùs€Ø ×Ñœ*Ñ&UÕVrcó¢—tjdd¬«}tjdd¬«}tjdd¬«}|j«}|j«}|j«}|j||«|j    ||«|j||«|j    ||«|j    ||«y)Nrƒr)rsrrs CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC)rÚ    constructr„rr:)rÚ private_keyÚ private_key2Ú private_key3r„Ú public_key2Ú public_key3s       rÚ test_equalityz TestEccKey_Ed25519.test_equalityüs¬€Ü—m‘m¨¸    ÔBˆ Ü—}‘}¨'¸ÔCˆ Ü—}‘}¨'¸ÔCˆ à ×+Ñ+Ó-ˆ
Ø"×-Ñ-Ó/ˆ Ø"×-Ñ-Ó/ˆ à ×ј lÔ3Ø ×јK¨Ô6à ×ј [Ô1Ø ×јJ¨ Ô4à ×јJ¨ Õ4rcóò—tjd¬«}|jdt|««|j    |j
d«|j    |j «j
d«y)Nrrzcurve='Ed25519'r)rÚgenerateÚassertInÚreprrrr„)rr{s  rÚtest_name_consistencyz(TestEccKey_Ed25519.test_name_consistency sT€Ül‰l Ô+ˆØ  ‰ Ð'¬¨c«Ô3Ø ×јŸ™ IÔ.Ø ×јŸ™Ó)×/Ñ/°Õ;rN)    rfrgrhr|rr‡rŒr”r™rkrrrmrmÓs"„òDò0,ò :ò Wò5ó"<rrmcó—eZdZd„Zd„Zd„Zy)ÚTestEccModule_Ed25519cóŒ—tjd¬«}|j|j««t    t
dj t
djd¬«|jz}|j|j|«tjd¬«}|j||«tjd¬«tjdtj«j¬«}tjdtj«j¬«}|j||«y)Nrr)rÚrandfunc)rr–r?rwrrr~rr_rrxr:r ÚnewÚread)rr{ruÚkey2Úkey1s     rÚ test_generatez#TestEccModule_Ed25519.test_generates߀܏l‰l Ô+ˆØ ‰˜Ÿ™Ó)Ô*Üœ Ñ+×.Ñ.´¸    Ñ0B×0EÑ0EÈYÔWÐZ]×Z_ÑZ_Ñ_ˆØ ×јŸ™ UÔ+ô|‰| )Ô,ˆØ ×јC Ô&ô      ‰ ˜9Õ%ô|‰| )´h·l±l³n×6IÑ6IÔJˆÜ|‰| )´h·l±l³n×6IÑ6IÔJˆØ ×ј˜tÕ$rcób—td«}d}d}d}t||d¬«}tjd|¬«}|j    |j
|«|j |j««tjd||¬«}|j    |j
|«|j|j««tjd|||¬    «}|j    |j
|«|j |j««tjd
|¬«}y) Nrorprqrtrrrr)rÚpoint_xÚpoint_y)rrsr¤r¥r)    rrrrŽrrxr?rwr€)rrsryrzr_rur{s       rÚtest_constructz$TestEccModule_Ed25519.test_construct(sï€ÜÐ[Ó\ˆØ ZˆØ ZˆØ YˆÜ˜˜R yÔ1ˆôm‰m )°$Ô7ˆØ ×јŸ™ UÔ+Ø ‰˜Ÿ™Ó)Ô*ôm‰m )°RÀÔDˆØ ×јŸ™ UÔ+Ø ×јŸ™Ó*Ô+ôm‰m )°$ÀÈBÔOˆØ ×јŸ™ UÔ+Ø ‰˜Ÿ™Ó)Ô*ôm‰m )°$Ô7‰rcól—tdd¬«}ttdjtdj¬«}|jt
t jfddi|¤Ž|jt
t jfdddœ|¤Ž|j    t
t jdd    ¬
«y) Nr[rY)r¤r¥rrrrWrvrŠrr)Údictrr~rr*r+rrŽ)rÚcoordÚcoordGs   rÚtest_negative_constructz-TestEccModule_Ed25519.test_negative_constructAs€Ü˜R¨Ô+ˆÜœg iÑ0×3Ñ3¼WÀYÑ=O×=RÑ=RÔSˆàˆ×Ñœ*¤c§m¡mÑN¸9ÐNÈÒN؈×Ñœ*¤c§m¡mÐT¸9ÈÑTÈVÒTØ ×Ñœ*¤c§m¡m¸9È7ÐÕSrN)rfrgrhr¢r¦r«rkrrr›r›s„ò%ò$8ó2Trr›cóv—g}|tt«z }|tt«z }|tt«z }|Sr7)rr rmr›)ÚconfigÚtestss  rÚ    get_testsr¯Js<€Ø €EØ    Œ_Ô1Ó 2Ñ2€EØ    Œ_Ô/Ó 0Ñ0€EØ    Œ_Ô2Ó 3Ñ3€EØ €LrÚ__main__có<—tjt««Sr7)ÚunittestÚ    TestSuiter¯rkrrÚsuiter´Ss€Ü×!Ñ!¤)£+Ó.Ð.rr´)Ú defaultTest)r²ÚbinasciirÚCrypto.SelfTest.st_commonrÚCrypto.SelfTest.loaderrÚCrypto.PublicKeyrÚCrypto.PublicKey.ECCrrr    ÚCrypto.Math.Numbersr
Ú Crypto.Hashr ÚTestCaser rmr›r¯rfr´Úmainrkrrú<module>r¿s‹ðó>Ýå5Ý4å ß:Ñ:å'å ôc:˜8×,Ñ,ôc:ôL><˜×*Ñ*ô><ôB3T˜H×-Ñ-ô3Tðlóð ˆzÒò/à€H‡MM˜gÖ&ðr