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
Ë
ž¬`ip ãó—dZddlZddlmZddlmZmZddl­ddlm    Z    m
Z
m Z m Z m Z ddlmZddlmZdd    lmZdd
lmZd „ZGd „d e«Zd„ZdZdZGd„dej8«Zifd„Zedk(rd„Z ejBd¬«yy)z.Self-test for the custom module exponentiationéN)Úlist_test_cases)Ú long_to_bytesÚ bytes_to_long)Ú*)Úload_pycryptodome_raw_libÚcreate_string_bufferÚget_raw_bufferÚc_size_tÚ c_ulonglong)ÚSHAKE128)ÚInteger)Ú_raw_montgomery)Ú StrongRandomcóD—ttj|¬««}|S)N)Údata)rr Únew)ÚtagÚrngs  õsH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/Math/test_modexp.pyÚ
create_rngr9sۆ
”x—|‘|¨Ô-Ó
.€CØ €Jócó —eZdZy)ÚExceptionModulusN)Ú__name__Ú
__module__Ú __qualname__©rrrr=s„Ørrc
ód—ttt|||«««}|||fDcgc]}t||«‘Œc}\}}}t|«}t    j
||||t |«td««}    |    dk(r
t«‚|    rtd|    z«‚tt|««}
|
Scc}w)Né ézmonty_pow failed with error: %d) ÚlenrÚmaxrrÚ    monty_powr
r rÚ
ValueErrorrr    ) ÚbaseÚexpÚmodulusÚmax_lenÚxÚbase_bÚexp_bÚ    modulus_bÚoutÚerrorÚresults            rr#r#@s»€Ü”-¤ D¨#¨wÓ 7Ó8Ó9€Gð#'¨¨WÐ!5ö 8¸q¤¨q°'Õ!:ò 8Ñ€FˆE9ô ˜wÓ
'€CÜ × %Ñ %ØØØØÜ˜Ó!ܘB“ó  €E𠐂{ÜӠР٠ÜÐ:¸UÑBÓCÐCä œ>¨#Ó.Ó /€FØ €Mùò' 8s§B-l‰MAUûjb*a\ˆ}ã8Àz‹09’c_(…LmJËC0:8yÒeZI¾fî7‹j3D’ N`&E[@z¯^:â
ágŸ8*7cÆH o)Ra…·>)< õemaÞc€C¾P:I'; d<Ôa÷ïFuëMó%Œtz¬4CLŸJÆ)sCRuUM¾2
=    PT9‚ ÷ZV!ç0s²_\ä©yëTµvŸGv1&;ôBÉ~:6“µ\¬.÷t…N­Ï}ÿØvÎâYC "ca(d    [Œ2ö\4ëY>=tOjEGþŒK¿a¬R44œ<ëO‹I*¾#Ð ¤`( ¢XWp,l‰©uM~æL«®o[*®QvU%=ÒQÈU)5d«³ _š*i§R¶¼y¶^ëiæn3&y_ó!o ÍicpJFX•QM0,þJ&[{"sÅ}ÁNŽ,ŒC20\'•j7Ö.Å8aMRÉMt
CIsD    ‹k·Äo¿C•vj'ûðŠ]Ë/S<iJvcTr.wFúFuZ±eâq9<ì*M‰["ºýt,`@T:KŽZ
Î'«S˜nÆk¡D5…x€l!Xµyy„9À9øv—M"*Ÿ^× x†+j~oÕB8ßs ?vj    …r‘K?/ýjç fe@\¥6Öd7€lH3ÖcóT—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z d „Zy )Ú
TestModExpcó>—|jdtddd««y)Néé é é)Ú assertEqualr#)Úselfs rÚ
test_smallzTestModExp.test_small^s€Ø ×јœI b¨¨BÓ/Õ0rcó€—d}t|tt«}t|tt«}|j    ||«y)Nìÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)ÚpowÚ    exponent1Úmodulus1r#r7©r8r%Úexpectedr/s    rÚ test_large_1zTestModExp.test_large_1as3€ØDˆÜtœY¬Ó1ˆÜ˜4¤¬HÓ5ˆØ ×ј Õ*rcóN—d}t|dt«}|j|d«y)Nr;rr3)r#r>r7)r8r%r/s   rÚ test_zero_expzTestModExp.test_zero_expgs%€ØDˆÜ˜4 ¤HÓ-ˆØ ×ј Õ#rcóR—tdtt«}|j|d«y)Nr)r#r=r>r7)r8r/s  rÚtest_zero_basezTestModExp.test_zero_basels €Ü˜1œi¬Ó2ˆØ ×ј Õ#rcó„—d}|jtt|td«|jttddd«y)Nlÿÿÿÿÿÿÿÿÿÿÿÿÿr)Ú assertRaisesrr#r=©r8r%s  rÚtest_zero_moduluszTestModExp.test_zero_modulusps5€ØBˆØ ×ÑÔ*¬I°t¼YÈÔJØ ×ÑÔ*¬I°q¸!¸QÕ?rcóš—tdz
}t|tdzt«}t|tdzt«}|j||«y)Niÿÿÿé@)r>r<r#r7r?s    rÚtest_larger_exponentzTestModExp.test_larger_exponentus@€Ü˜)Ñ#ˆÜtœX r™\¬8Ó4ˆÜ˜4¤¨2¡¬xÓ8ˆØ ×ј Õ*rcóf—tdz    }|jtt|ttdz
«y)Nér3)r>rGrr#r=rHs  rÚtest_even_moduluszTestModExp.test_even_modulus{s'€Ü˜1‰}ˆØ ×ÑÔ*¬I°t¼YÌÐQRÉ
ÕSrcóº—tj«jtd««}t    dd«D] }t j |j|««dz}t j |j|««|z}t j |j|««}t|||«}t|||«}|j||«Œ¢y)NÚTestr3éd) r rÚupdateÚbÚranger Ú
from_bytesÚreadr<r#r7)r8ÚprngÚlengthÚmodulus2r%Ú    exponent2r@r/s        rÚtest_several_lengthszTestModExp.test_several_lengthss²€Ü|‰|‹~×$Ñ$¤Q v£YÓ/ˆÜ˜A˜s“mò    /ˆFÜ×)Ñ)¨$¯)©)°FÓ*;Ó<¸qÑ@ˆHÜ×%Ñ% d§i¡i°Ó&7Ó8¸8ÑCˆDÜ×*Ñ*¨4¯9©9°VÓ+<Ó=ˆIä˜4 ¨HÓ5ˆHܘt Y°Ó9ˆFØ × Ñ ˜V XÕ .ñ    /rcó¼—ttd««}td«D]º}td«D]ª}|jd«dz}|jd«|z}|j|dz|z«}t    |||«}t |||«}|j ||«|d|dz|zzdz
z}t    |||«}t |||«}|j ||«Œ¬Œ¼y)NzTest variable exponentéééðr3é©rrTrUÚ getrandbitsr<r#r7)    r8rXÚiÚjr'r%Úexponentr@r/s             rÚtest_variable_exponentz!TestModExp.test_variable_exponentŠsí€Üœ!Ð4Ó5Ó6ˆÜr“ò    3ˆAܘ1“Xò 3Ø×*Ñ*¨4Ó0°1Ñ4Ø×'Ñ'¨Ó-°Ñ7Ø×+Ñ+¨A¨a©C°©EÓ2ä˜t X¨wÓ7Ü" 4¨°7Ó;Ø× Ñ  ¨Ô2à˜Q 1 Q¡3 q¡5™\¨QÑ.Ñ.ä˜t X¨wÓ7Ü" 4¨°7Ó;Ø× Ñ  ¨Õ2ñ 3ñ    3rcó,—ttd««}d}td«D]p}|jd|z«dz}|jd|z«|z}|jd|z«}t    |||«}t |||«}|j ||«Œry)NzTest 63é?éÐrar3rb©    r8rXrYÚ_r'r%rfr@r/s             rÚtest_stress_63zTestModExp.test_stress_63œóš€Üœ!˜I›,Ó'ˆØˆÜt“ò    /ˆAØ×'Ñ'¨¨&©Ó1°AÑ5ˆGØ×'Ñ'¨¨&©Ó1°GÑ;ˆDØ×'Ñ'¨¨&©Ó1ˆHä˜4 ¨7Ó3ˆHܘt X¨wÓ7ˆFØ × Ñ ˜V XÕ .ñ    /rcó,—ttd««}d}td«D]p}|jd|z«dz}|jd|z«|z}|jd|z«}t    |||«}t |||«}|j ||«Œry)NzTest 64rKrjrar3rbrks             rÚtest_stress_64zTestModExp.test_stress_64¨rnrcó,—ttd««}d}td«D]p}|jd|z«dz}|jd|z«|z}|jd|z«}t    |||«}t |||«}|j ||«Œry)NzTest 65éArjrar3rbrks             rÚtest_stress_65zTestModExp.test_stress_65´rnrN)rrrr9rArCrErIrLrOr\rgrmrprsrrrr1r1\s@„ò1ò+ò $ò
$ò@ò
+ò Tò    /ò3ò$
/ò
/ó
/rr1có.—g}|tt«z }|S©N)rr1)ÚconfigÚtestss  rÚ    get_testsrxÁs€Ø €EØ    Œ_œZÓ (Ñ(€EØ €LrÚ__main__có<—tjt««Sru)ÚunittestÚ    TestSuiterxrrrú<lambda>r}Ès€”H×&Ñ&¤y£{Ó3€rÚsuite)Ú defaultTest)"Ú__doc__r{ÚCrypto.SelfTest.st_commonrÚCrypto.Util.numberrrÚCrypto.Util.py3compatÚCrypto.Util._raw_apirrr    r
r Ú Crypto.Hashr ÚCrypto.Math.Numbersr ÚCrypto.Math._IntegerCustomrÚCrypto.Random.randomrrr$rr#r=r>ÚTestCaser1rxrr~Úmainrrrú<module>r‹s–ðñD5ãå5ç;ä#÷/õ/õ !Ý'Ý6å-òô    zô    òð0 O€    ð N€ôb/×"Ñ"ôb/ðJóð  ˆzÒÙ 3€EØ€H‡MM˜gÖ&ðr