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
Ë
ž¬`ià;ãó(—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_Ed448ì^@¯ 51â8`b8ÀCÊlª\×p*AŒtô(’qmjÏ.<‚+FaS[Í/SDZ74_3 ã    ìzadoeC@Ù
ùZK‰^ýDsx™sø­sZhNx0Ž2›§>Ilq2« vIðZu gt' )ÚxÚyìUUª*UUª*UUª*UUª*UUª*UUª*UUª*UUTUª*UUª*UUª*UUª*UUª*UUª*UUª*Uìí'U7oWW½´9´/Y^»aTè ,+֗¶"¹6ã7¯!V=í6V°!(ÖYf\V–^Àl/þ Ê\@9uµKQZ[1èV?NØ__Nª ýy½ºbj3\\A"f¥-¶d=«H½"ˆ\†X lüV1M0AûZZ?M}¿pÏNmo˜Q³ «C;Aä|s[ ©l¨$“H©j=ÚK nsI¨^ZrrÚed448©ÚcurvecóP—|j|jjd«y)NÚEd448)Ú assertEqualÚpointGr©Úselfs õ{H:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/PublicKey/test_ECC_Ed448.pyÚtest_curve_attributez'TestEccPoint_Ed448.test_curve_attribute<s€Ø ×јŸ™×*Ñ*¨GÕ4ó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ì4$BtL ßx;c–=ðyHj«¼Pb%ô0×VN[Š”{¼ ð=Cmv`'W,7$-3ySìë5èeQL£D%ä¢D* X<f%g9'=}.¦mû(eXÆj Ê`Ä[V~rœr'·_(QQW¿)rrré"é#) rÚGxyrrrÚxyrÚcopyÚpointG2Ú assertRaisesÚ
ValueError)rÚpaiÚbpÚbp2s    rÚ test_init_xyzTestEccPoint_Ed448.test_init_xy?sr€Ü—‘˜#‘ §¡¨¡ °WÕ=ôq˜! 7Ô+ˆØ ×јŸ™ Ô"Ø ×јŸ™ Ô"Ø ×јŸ™ Ô(ð[‰[× Ñ Ó ˆØ ×јŸ™ð Rô    SØ ×јŸ™ð Rô    SØ ×јŸ™ §¡ r§t¡t  Ô-ðl‰l×ÑÓ!ˆØ ×јŸ™ð!Sô    TØ ×јŸ™ð!Sô    TØ ×јŸ™ #§%¡%¨¯© Ô0ô    ðFðFØõ     ð
     ×Ñœ*¤h°°B¸gÐÕFrcó—tddd¬«}|j|j«|j|j|jj«|j|j
|jj
«y©Nrr!rr)rÚsetrrrr©rÚpointWs  rÚtest_setzTestEccPoint_Ed448.test_set\sX€Ü˜!˜Q gÔ.ˆØ
‰
4—;‘;ÔØ ×јŸ™ 4§;¡;§=¡=Ô1Ø ×јŸ™ 4§;¡;§=¡=Õ1rcóø—|jj«}|j|j|jj«|j|j|jj«y©N)rr(rrrr3s  rÚ    test_copyzTestEccPoint_Ed448.test_copybsL€Ø—‘×!Ñ!Ó#ˆØ ×јŸ™ 4§;¡;§=¡=Ô1Ø ×јŸ™ 4§;¡;§=¡=Õ1rcóܗ|jj«}|jj«}|j|j|«|j    |j|«yr7)rr(r)rÚassertNotEqual)rÚpointHÚpointIs   rÚ
test_equalzTestEccPoint_Ed448.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_Ed448.test_paims>€Üq˜! 7Ô+ˆØ ‰˜×0Ñ0Ó2Ô3Ø ×ј˜c×3Ñ3Ó5Õ6rcóz—|j }|j|z}|j|j««yr7)rr?r@)rÚnegGÚsums   rÚ test_negatezTestEccPoint_Ed448.test_negaters0€Ø— ‘ ˆ|ˆØk‰k˜DÑ ˆØ ‰˜×0Ñ0Ó2Õ3rcó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_Ed448.test_additionwsà€Ø ×јŸ™ t§|¡|Ñ3°T·\±\ÔBØ ×јŸ™¨¯ © Ñ3°T·\±\ÔBØ ×јŸ™¨¯ © ×(EÑ(EÓ(GÑGÈÏÉÔVØ ×јŸ™×6Ñ6Ó8¸4¿<¹<ÑGÈÏÉÔVà \‰\˜DŸL™LÑ (ˆØ ×јŸ™ð Rô    SØ ×јŸ™ð Rõ    SrcóV—|jj«}||jz }|j||j«||jz }|j||j«||jj «z }|j||j«yr7)rr(rr)rHrA)rr;s  rÚtest_inplace_additionz(TestEccPoint_Ed448.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_Ed448.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!ééél0t±
r<)b^pW!:±;EEï=0˜i1_Rý#"8zN UD=J>9¡(X83`cÅK;    l9Ê[á[³u©!
"jµr(‡zËG xKâ‘a I‹0_x|Kór†ïR3K,N”7f%~’ér"r#é
l=0Ú!—EZs-$@bD²U=NÃ.r1aJOÈôi4A8ùac)dã> ŽÓ5º9YÏhùélg_›I'*ª k[°QP`1? \W5p_Ì`“?¡k?îw7:hkÀ9Á
C9%?ðqI „/X ~¥    él8Î`}\‹&0<
FYr ´ðp¹cßJÊ)åA}<C OØNüf T`~ÞcÎ|ªB6„lá‡6†,81$Lg}»HH>"ãHoûs¬2‚'„@`C#*ö4x¤'Ó1ò6F| 3 û—[ªéÿlèkM`7C¯5SWh+k3 ú    óe6\úD=C:ç§D˜`°IecjEÇ<n`ã"586XDƒÖlS-ãKô»j€d5|X1¡O¶Ø|S¶_CzŽ:~R,QGñ¹sÆC¥SnYsÆél,Kl?rQ¼sëUæ5xf·¤aZ×–3}-Ú8¬U¥5ø3€v;IV¨(` v>ÅGëuOC3l$`:i    z=nU‡YzzÉ*ZGb9íLhQuÂt’.êq97URMT»|›s±ia\[yÿFˆdœ6})rrrrr)rH)rÚdr;s   rÚtest_scalar_multiplyz'TestEccPoint_Ed448.test_scalar_multiply–sÊ€Ø ˆØT—[‘[‘ˆØ ×јŸ™ 1Ô%Ø ×јŸ™ 1Ô%à ˆØT—[‘[‘ˆØ ×јŸ™ 4§;¡;§=¡=Ô1Ø ×јŸ™ 4§;¡;§=¡=Ô1à ˆØT—[‘[‘ˆØ ×јŸ™ 4§<¡<§>¡>Ô2Ø ×јŸ™ 4§<¡<§>¡>Ô2à ˆØT—[‘[‘ˆØ ×јŸ™ 4§<¡<§>¡>Ô2Ø ×јŸ™ 4§<¡<§>¡>Ô2à ˆØT—[‘[‘ˆØ ×јŸ™ð$Vô    WØ ×јŸ™ð$Vô    Wà ˆØT—[‘[‘ˆØ ×јŸ™ð$Vô    WØ ×јŸ™ð$Vô    Wà ˆØT—[‘[‘ˆØ ×јŸ™ð$Vô    WØ ×јŸ™ð$Vô    Wà ˆØT—[‘[‘ˆØ ×јŸ™ð$Vô    WØ ×јŸ™ð$Vô    Wà ˆØT—[‘[‘ˆØ ×јŸ™ð$Vô    WØ ×јŸ™ð$Vô    Wà ˆØT—[‘[‘ˆØ ×јŸ™ð$Vô    WØ ×јŸ™ð$Võ    Wrcó¬—|j|jj«d«|j|jj«d«y)NiÀé8)rrÚ size_in_bitsÚ size_in_bytesrs rÚ
test_sizeszTestEccPoint_Ed448.test_sizesÉs<€Ø ×јŸ™×1Ñ1Ó3°SÔ9Ø ×јŸ™×2Ñ2Ó4°bÕ9rN)Ú__name__Ú
__module__Ú __qualname__r&ÚG2xyÚG3xyrrr)rHrr/r5r8r=rBrFrJrLrPr[r`©rrr r -s„ðCðCñ D€CðDðDñ E€DðCðDñ E€Dñc˜#‘h  C¡°Ô 8€Fِt˜C‘y $ s¡)°7Ô;€Gِt˜C‘y $ s¡)°7Ô;€Gò5òGò:2ò 2ò
1ò 7ò
4ò
Sò/ò
&ò1Wóf:rr có0—eZdZd„Zd„Zd„Zd„Zd„Zd„Zy)ÚTestEccKey_Ed448cóº—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Úr4adf5d37ac6785e83e99a924f92676d366a78690af59c92b6bdf14f9cdbcf26fdad478109607583d633b60078d61d51d81b7509c5433b0d4c9ì&`</·?•xx#‚psSac9,v#˜_+*gs{*[JÌ/À5/pT¸*â#DXs×hPîTìÁ.äpˆv"„h÷5TwÛe¸0ø~ûK›}Y+¡VÀAÙ+EcÇ4«w£qcp&AZ¬lß]¦,BPÁr©rÚseedì€_ Rh+#‰öSb,n@wÚ8)èíYÜJC7äM_ýSr/8k1Xà åc >KOr)rrnÚpointr!©rrZ) rr    rrnrZr?Ú has_privateÚpointQrrrr*r+)rrnÚPxÚPyÚkeyrps      rÚtest_private_keyz!TestEccKey_Ed448.test_private_keyÐs €ÜðNóOˆØ ˆØ ˆä˜7¨Ô.ˆØ ×јŸ™ 4Ô(Ø ×јŸ™ð!Sô    TØ ‰˜Ÿ™Ó)Ô*Ø ×јŸ™Ÿ™ rÔ*Ø ×јŸ™Ÿ™ rÔ*䘘R Ó)ˆÜ˜7¨°UÔ;ˆØ ×јŸ™ð!Sô    TØ ‰˜Ÿ™Ó)Ô*Ø ×јŸ™ UÔ+ô˜7¨Ô.ˆð     ×Ñœ*¤f°G¸qÐÕArcóô—ttdjtdjd¬«}t    d|¬«}|j |j ««|j|j|«y)Nrr)rrp)    rrÚGxÚGyr    Ú assertFalserrrrs)rrprvs   rÚtest_public_keyz TestEccKey_Ed448.test_public_keyès[€Üœ Ñ)×,Ñ,¬g°gÑ.>×.AÑ.AÈÔQˆÜ˜7¨%Ô0ˆØ ×јŸ™Ó*Ô+Ø ×јŸ™ UÕ+rcóȗtdd¬«}|j«}|j|j««|j    |j
|j
«y)Nró9HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHrm)r    Ú
public_keyr{rrrrs)rÚpriv_keyÚpub_keys   rÚtest_public_key_derivedz(TestEccKey_Ed448.test_public_key_derivedîsK€Ü ¨gÔ6ˆØ×%Ñ%Ó'ˆØ ×ј×,Ñ,Ó.Ô/Ø ×јŸ™¨'¯.©.Õ9rcó2—|jtd„«y)Ncó—tdd¬«S)Nrs8HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHrm)r    rfrrú<lambda>z4TestEccKey_Ed448.test_invalid_seed.<locals>.<lambda>õs €¬f¸7ÈÔ.S€r)r*r+rs rÚtest_invalid_seedz"TestEccKey_Ed448.test_invalid_seedôs€Ø ×Ñœ*Ñ&SÕTrcó¢—tjdd¬«}tjdd¬«}tjdd¬«}|j«}|j«}|j«}|j||«|j    ||«|j||«|j    ||«|j    ||«y)Nr~r)rnrrs9CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC)rÚ    constructrrr:)rÚ private_keyÚ private_key2Ú private_key3rÚ public_key2Ú public_key3s       rÚ test_equalityzTestEccKey_Ed448.test_equality÷s¬€Ü—m‘m¨¸Ô@ˆ Ü—}‘}¨'¸ÔAˆ Ü—}‘}¨'¸ÔAˆ à ×+Ñ+Ó-ˆ
Ø"×-Ñ-Ó/ˆ Ø"×-Ñ-Ó/ˆ à ×ј lÔ3Ø ×јK¨Ô6à ×ј [Ô1Ø ×јJ¨ Ô4à ×јJ¨ Õ4rcóò—tjd¬«}|jdt|««|j    |j
d«|j    |j «j
d«y)Nrrz curve='Ed448'r)rÚgenerateÚassertInÚreprrrr)rrvs  rÚtest_name_consistencyz&TestEccKey_Ed448.test_name_consistencysS€Ül‰l Ô)ˆØ  ‰ o¤t¨C£yÔ1Ø ×јŸ™ GÔ,Ø ×јŸ™Ó)×/Ñ/°Õ9rN)    rarbrcrwr|r‚r†rŽr“rfrrrhrhÎs"„òBò0,ò :ò Uò5ó":rrhcó—eZdZd„Zd„Zd„Zy)ÚTestEccModule_Ed448cóŒ—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?rrrrryrzrZrrsr:r ÚnewÚread)rrvrpÚkey2Úkey1s     rÚ test_generatez!TestEccModule_Ed448.test_generates߀܏l‰l Ô)ˆØ ‰˜Ÿ™Ó)Ô*Üœ Ñ)×,Ñ,¬g°gÑ.>×.AÑ.AÈÔQÐTW×TYÑTYÑYˆØ ×јŸ™ UÔ+ô|‰| 'Ô*ˆØ ×јC Ô&ô      ‰ ˜7Õ#ô|‰| '´H·L±L³N×4GÑ4GÔHˆÜ|‰| '´H·L±L³N×4GÑ4GÔHˆØ ×ј˜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) Nrjrkrlrorrrm)rÚpoint_xÚpoint_y)rrnržrŸr)    rrrrˆrrsr?rrr{)rrnrtrurZrprvs       rÚtest_constructz"TestEccModule_Ed448.test_construct#sõ€ÜðNóOˆØ ˆØ ˆØ ~ˆÜ˜˜R wÔ/ˆôm‰m '°Ô5ˆØ ×јŸ™ UÔ+Ø ‰˜Ÿ™Ó)Ô*ôm‰m '°2¸rÔBˆØ ×јŸ™ UÔ+Ø ×јŸ™Ó*Ô+ôm‰m '°¸bÈ"ÔMˆØ ×јŸ™ UÔ+Ø ‰˜Ÿ™Ó)Ô*ôm‰m '°Ô5‰rcól—tdd¬«}ttdjtdj¬«}|jt
t jfddi|¤Ž|jt
t jfdddœ|¤Ž|j    t
t jdd    ¬
«y) NrVrT)ržrŸrrrrRrqs:HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHrm)Údictrryrzr*r+rrˆ)rÚcoordÚcoordGs   rÚtest_negative_constructz+TestEccModule_Ed448.test_negative_construct<s€Ü˜R¨Ô+ˆÜœg gÑ.×1Ñ1¼7À7Ñ;K×;NÑ;NÔOˆàˆ×Ñœ*¤c§m¡mÑL¸7ÐLÀeÒL؈×Ñœ*¤c§m¡mÐR¸7ÀaÑRÈ6ÒRØ ×Ñœ*¤c§m¡m¸7ÈÐÕQrN)rarbrcrœr r¥rfrrr•r•s„ò%ò$6ó2Rrr•cóv—g}|tt«z }|tt«z }|tt«z }|Sr7)rr rhr•)ÚconfigÚtestss  rÚ    get_testsr©Es<€Ø €EØ    Œ_Ô/Ó 0Ñ0€EØ    Œ_Ô-Ó .Ñ.€EØ    Œ_Ô0Ó 1Ñ1€EØ €LrÚ__main__có<—tjt««Sr7)ÚunittestÚ    TestSuiter©rfrrÚsuiter®Ns€Ü×!Ñ!¤)£+Ó.Ð.rr®)Ú defaultTest)r¬ÚbinasciirÚCrypto.SelfTest.st_commonrÚCrypto.SelfTest.loaderrÚCrypto.PublicKeyrÚCrypto.PublicKey.ECCrrr    ÚCrypto.Math.Numbersr
Ú Crypto.Hashr ÚTestCaser rhr•r©rar®Úmainrfrrú<module>r¹s‹ðó>Ýå5Ý4å ß:Ñ:å'å ô^:˜×*Ñ*ô^:ôB>:x×(Ñ(ô>:ôB3R˜(×+Ñ+ô3Rðlóð ˆzÒò/à€H‡MM˜gÖ&ðr