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
Ë
ž¬`iº-ãó>—ddlmZddlmZmZmZmZGd„de«Zy)é)Ú IntegerBaseé)Ú long_to_bytesÚ bytes_to_longÚinverseÚGCDcóh—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z    d5d„Z
e d6d    „«Z d
„Z d „Zd „Zd „Zd„Zd„Zd„ZeZd„Zd„Zd„Zd„Zd„Zd„Zd7d„Zd7d„Zd„Zd7d„Zd„Zd„Z d„Z!d„Z"d „Z#d!„Z$d"„Z%d#„Z&d$„Z'd%„Z(d&„Z)d'„Z*d(„Z+d)„Z,d*„Z-d+„Z.d,„Z/d-„Z0d.„Z1d/„Z2d0„Z3d1„Z4d2„Z5e6d3„«Z7e6d4„«Z8y)8Ú IntegerNativez3A class to model a natural integer (including zero)cóŠ—t|t«r td«‚    |j|_y#t$r
||_YywxYw)Nz-A floating point type is not a natural number)Ú
isinstanceÚfloatÚ
ValueErrorÚ_valueÚAttributeError)ÚselfÚvalues  õmH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/Math/_IntegerNative.pyÚ__init__zIntegerNative.__init__'s>€Ü eœUÔ #ÜÐLÓMÐ Mð     ØŸ,™,ˆDKøÜò     ØˆDŽKð     ús/¯AÁAcó—|jS©N©r©rs rÚ__int__zIntegerNative.__int__0s €Ø{‰{Ðócó*—tt|««Sr)ÚstrÚintrs rÚ__str__zIntegerNative.__str__3s€Ü”3t“9‹~Ðrcó—dt|«zS)Nz Integer(%s))rrs rÚ__repr__zIntegerNative.__repr__6s€Øœs 4›yÑ(Ð(rcó,—t|j«Sr)Úhexrrs rÚ__hex__zIntegerNative.__hex__:ó€Ü4—;‘;ÓÐrcó,—t|j«Sr©rrrs rÚ    __index__zIntegerNative.__index__>r$rcó"—|jdkr td«‚t|j|«}t|«|cxkDrdkDr td«‚|dk(r    |S|dk(r(t    |«}|j «t |«}|Std«‚)Nrú.Conversion only valid for non-negative numberszValue too large to encodeÚbigÚlittleúIncorrect byteorder)rrrÚlenÚ    bytearrayÚreverseÚbytes)rÚ
block_sizeÚ    byteorderÚresults    rÚto_byteszIntegerNative.to_bytesAs™€Ø ;‰;˜Š?ÜÐMÓNÐ NܘtŸ{™{¨JÓ7ˆÜ ˆv‹;˜Ô ' aÒ 'ÜÐ8Ó9Ð 9ð (à ˜Ò Ø ðˆ ð ˜(Ò "ܘvÓ&ˆFØ N‰NÔ Ü˜6“]ˆFðˆ ôÐ2Ó3Ð 3rcóˆ—|dk(rn,|dk(rt|«}|j«n td«‚|t|««S)Nr*r+r,)r.r/rr)ÚclsÚ byte_stringr2s   rÚ
from_byteszIntegerNative.from_bytesQsG€à ˜Ò Ø Ø ˜(Ò "Ü# KÓ0ˆKØ × Ñ Õ !äÐ2Ó3Ð 3Ù”= Ó-Ó.Ð.rcó8—|€y|jt|«k(S)NF©rr©rÚterms  rÚ__eq__zIntegerNative.__eq__]s€Ø ˆ<ØØ{‰{œc $›iÑ'Ð'rcó&—|j|« Sr)r=r;s  rÚ__ne__zIntegerNative.__ne__b󀨗;‘;˜tÓ$Ð$Ð$rcó2—|jt|«kSrr:r;s  rÚ__lt__zIntegerNative.__lt__es€Ø{‰{œS ›YÑ&Ð&rcóJ—|j|«xs|j|«Sr)rBr=r;s  rÚ__le__zIntegerNative.__le__hs€Ø{‰{˜4Ó Ò5 D§K¡K°Ó$5Ð5rcó&—|j|« Sr)rDr;s  rÚ__gt__zIntegerNative.__gt__kr@rcó&—|j|« Sr)rBr;s  rÚ__ge__zIntegerNative.__ge__nr@rcó —|jdk7S©Nrrrs rÚ __nonzero__zIntegerNative.__nonzero__qs€Ø{‰{˜aÑÐrcó —|jdkSrJrrs rÚ is_negativezIntegerNative.is_negativeus€Ø{‰{˜Q‰Ðrc󒗠   |j|jt|«z«S#ttt
f$r    t cYSwxYwr©Ú    __class__rrrrÚ    TypeErrorÚNotImplementedr;s  rÚ__add__zIntegerNative.__add__yó?€ð    "Ø—>‘> $§+¡+´°D³    Ñ"9Ó:Ð :øÜœN¬IÐ6ò    "Ü!Ò !ð    "úó‚&)©AÁAc󒗠   |j|jt|«z
«S#ttt
f$r    t cYSwxYwrrOr;s  rÚ__sub__zIntegerNative.__sub__rTrUc󒗠   |j|jt|«z«S#ttt
f$r    t cYSwxYwrrO)rÚfactors  rÚ__mul__zIntegerNative.__mul__…s?€ð    "Ø—>‘> $§+¡+´°F³ Ñ";Ó<Ð <øÜœN¬IÐ6ò    "Ü!Ò !ð    "úrUcóP—|j|jt|«z«Sr©rPrr)rÚdivisors  rÚ __floordiv__zIntegerNative.__floordiv__‹s€Ø~‰~˜dŸk™k¬S°«\Ñ9Ó:Ð:rcót—t|«}|dkr td«‚|j|j|z«S)NrúModulus must be positive)rrrPr)rr]Ú divisor_values   rÚ__mod__zIntegerNative.__mod__Žs7€Ü˜G› ˆ Ø ˜1Ò ÜÐ7Ó8Ð 8؏~‰~˜dŸk™k¨MÑ9Ó:Ð:rNcóҗt|«}|dkr td«‚|+t|«}|dkr td«‚|dk(r td«‚d}t|j||«|_|S)NrzExponent must not be negativer`úModulus cannot be zero)rrÚZeroDivisionErrorÚpowr)rÚexponentÚmodulusÚ    exp_valueÚ    mod_values     rÚ inplace_powzIntegerNative.inplace_pow”sq€Ü˜“Mˆ    Ø qŠ=ÜÐ<Ó=Ð =à РܘG› ˆIؘ1Š}Ü Ð!;Ó<Ð<ؘAŠ~Ü'Ð(@ÓAÐAàˆIܘ$Ÿ+™+ y°)Ó<ˆŒ ؈ rcóH—|j|«}|j||«Sr)rPrk)rrgrhr3s    rÚ__pow__zIntegerNative.__pow__¤s#€Ø—‘ Ó%ˆØ×!Ñ! (¨GÓ4Ð4rcó,—t|j«Sr)Úabsrrs rÚ__abs__zIntegerNative.__abs__¨r$rcóô—|j}|€5|dkr td«‚|}|dzdz}||kr|}|||zzdz}||krŒ|}n%|dkr td«‚|j||z|«}|j|«S)NrzSquare root of negative valuerér`)rrÚ_tonelli_shanksrP)rrhrÚxÚyr3s      rÚsqrtzIntegerNative.sqrt«s€à— ‘ ˆØ ˆ?ؐqŠyÜ Ð!@ÓAÐAðˆAؐQ‘˜1‘ ˆAؐa’%ؘؐ !™‘^¨Ñ)ða“%ð‰Fà˜!Š|Ü Ð!;Ó<Ð<Ø×)Ñ)¨$°©.¸'ÓBˆFà~‰~˜fÓ%Ð%rcóB—|xjt|«z c_|Srr:r;s  rÚ__iadd__zIntegerNative.__iadd__Àó€Ø  Š ”s˜4“yÑ  ؈ rcóB—|xjt|«zc_|Srr:r;s  rÚ__isub__zIntegerNative.__isub__ÄryrcóB—|xjt|«zc_|Srr:r;s  rÚ__imul__zIntegerNative.__imul__Èryrcó†—t|«}|dk(r td«‚|dkr td«‚|xj|zc_|S)NrzDivision by zeror`)rrerr)rr<rhs   rÚ__imod__zIntegerNative.__imod__ÌsD€Üd“)ˆØ aŠ<Ü#Ð$6Ó7Ð 7Ø QŠ;ÜÐ7Ó8Ð 8Ø  Š wэ ؈ rcóP—|j|jt|«z«Srr\r;s  rÚ__and__zIntegerNative.__and__Öó€Ø~‰~˜dŸk™k¬C°«IÑ5Ó6Ð6rcóP—|j|jt|«z«Srr\r;s  rÚ__or__zIntegerNative.__or__Ùr‚rc󒗠   |j|jt|«z    «S#t$r|jdk\rYyYywxYw©Nréÿÿÿÿ)rPrrÚ OverflowError©rÚposs  rÚ
__rshift__zIntegerNative.__rshift__ÜsD€ð    Ø—>‘> $§+¡+´°S³Ñ"9Ó:Ð :øÜò    Ø{‰{˜aÒÙáð        ús‚&)©AÁAc󄗠   |xjt|«zc_|S#t$r|jdk\rYyYywxYwr†)rrrˆr‰s  rÚ __irshift__zIntegerNative.__irshift__åsC€ð    Ø KŠKœC ›HÑ $Kð ˆ øô ò    Ø{‰{˜aÒÙáð        ús ‚"¢?¾?c󂗠   |j|jt|«z«S#t$r t    d«‚wxYw©NzIncorrect shift count)rPrrrˆrr‰s  rÚ
__lshift__zIntegerNative.__lshift__ïs>€ð    6Ø—>‘> $§+¡+´°S³Ñ"9Ó:Ð :øÜò    6ÜÐ4Ó5Ð 5ð    6ús‚&)©>cót—    |xjt|«zc_|S#t$r td«‚wxYwr)rrrˆrr‰s  rÚ __ilshift__zIntegerNative.__ilshift__õs=€ð    6Ø KŠKœC ›HÑ $Kðˆ øôò    6ÜÐ4Ó5Ð 5ð    6ús‚"¢7có4—|jdkr td«‚        |j|jz    dz}|jdkr td«‚    |S#t$r&|j|z    dz}|dkr td«‚Y|SwxYw#t$rd}Y|SwxYw)Nrz)no bit representation for negative valuesrznegative bit count)rrrrˆ)rÚnr3s   rÚget_bitzIntegerNative.get_bitüsº€Ø ;‰;˜Š?ÜÐHÓIÐ Ið
    ð ;ØŸ+™+¨¯©Ñ1°QÑ6Ø—8‘8˜a’<Ü$Ð%9Ó:Ð:ð ðˆ øô "ò ;ØŸ+™+¨Ñ*¨aÑ/Øq’5Ü$Ð%9Ó:Ð:ððˆ ð  ;ûôò    Ø‰F؈ ð    ús)6AÁ+BÂBÂBÂB BÂBcó&—|jdzdk(S)Nrrrs rÚis_oddzIntegerNative.is_odd 󀨗 ‘ ˜a‘ AÑ%Ð%rcó&—|jdzdk(S)Nrrrrs rÚis_evenzIntegerNative.is_evenr˜rcóŠ—|jdkr td«‚|jdk(ry|jj«S)Nrr)r)rrÚ
bit_lengthrs rÚ size_in_bitszIntegerNative.size_in_bitss;€à ;‰;˜Š?ÜÐMÓNÐ Nà ;‰;˜!Ò Øà{‰{×%Ñ%Ó'Ð'rcó4—|j«dz
dzdzS)Nré)rrs rÚ size_in_byteszIntegerNative.size_in_bytess €Ø×!Ñ!Ó# aÑ'¨AÑ-°Ñ1Ð1rcóþ—|jdkry|jdvry|jdz}|dz}||jkDr*||jzd|zz}|dz}||jkDrŒ*|j|dzk(S)NrF)rrTrrr)rrtÚsquare_xs   rÚis_perfect_squarezIntegerNative.is_perfect_square s…€Ø ;‰;˜Š?ØØ ;‰;˜&Ñ  Øà K‰K˜1Ñ ˆØ˜‘6ˆà˜Ÿ™Ò$ؘDŸK™KÑ'¨Q°©UÑ3ˆAؘA‘vˆH𘟙Ó$ð{‰{˜a 1™fÑ$Ð$rcóP—|jt|«zdk(r td«‚y)NrzValue is composite)rrr)rÚ small_primes  rÚfail_if_divisible_byz"IntegerNative.fail_if_divisible_by/s)€Ø K‰Kœ#˜kÓ*Ñ *¨qÒ 0ÜÐ1Ó2Ð 2ð 1rcóZ—|xjt|«t|«zz c_|Srr:)rÚaÚbs   rÚmultiply_accumulatez!IntegerNative.multiply_accumulate3s!€Ø  Š ”s˜1“v¤ A£‘Ñ& ؈ rcó$—t|«|_yrr&)rÚsources  rÚsetzIntegerNative.set7s €Ü˜&“kˆ rcóN—t|jt|««|_|Sr)rrr)rrhs  rÚinplace_inversezIntegerNative.inplace_inverse:s€Ü˜dŸk™k¬3¨w«<Ó8ˆŒ ؈ rcóJ—|j|«}|j|«|Sr)rPr¯)rrhr3s   rrzIntegerNative.inverse>s#€Ø—‘ Ó%ˆØ×јwÔ'؈ rc
ó‚—|jtt|j«tt    |««««Sr)rPrrorrr;s  rÚgcdzIntegerNative.gcdCs)€Ø~‰~œc¤# d§k¡kÓ"2´C¼¸D»    ³NÓCÓDÐDrcóè—t|«}|jdk(s|dk(r|jd«S|jt|j|z|j    |«jz««SrJ)rrrPror²r;s  rÚlcmzIntegerNative.lcmFs\€Ü4‹yˆØ ;‰;˜!Ò ˜t qšyØ—>‘> !Ó$Ð $؏~‰~œc 4§;¡;°Ñ#5¸$¿(¹(À4».×:OÑ:OÑ"OÓPÓQÐQrcón—t|«}t|«}|dkr td«‚|dzdk(r td«‚||z}|dk(s|dk(ry|dk(ryd}|}|dzdk(r|dz}|dz }|dzdk(rŒ|dzdk(rd}n |dzdvrd}nd}|dzd    k(r |dzd    k(r| }||z}|tj||«zS)
Nrzn must be a positive integerrz#n must be odd for the Jacobi symbolrŸ)rér‡éé)rrr
Ú jacobi_symbol)r¨r”ÚeÚa1ÚsÚn1s      rr¹zIntegerNative.jacobi_symbolLsû€ä ‹FˆÜ ‹Fˆà Š6ÜÐ;Ó<Ð <à ‰EaŠ<ÜÐBÓCÐ C𠐉Eˆà Š6Q˜!’VØà Š6Øà ˆØ ˆØA‰v˜!ŠmØ 1‰HˆBØ ‰FˆAðA‰v˜!‹m𠐉EaŠ<؉AØ ‰Uf‰_؉AàˆAà ˆq‰5AŠ:˜"˜q™& Aš+ؐˆAà ‰Vˆà”=×.Ñ.¨r°2Ó6Ñ6Ð6rcó´—|dkr td«‚|dk(r td«‚|dzdk(r td«‚tt|««}t||z|z|«S)Nrr`rdrzOdd modulus is required)rrer-r)Úterm1Úterm2rhÚ
number_lens    rÚ_mult_modulo_bytesz IntegerNative._mult_modulo_bytestse€à QŠ;ÜÐ7Ó8Ð 8Ø aŠ<Ü#Ð$<Ó=Ð =Ø a‰K˜AÒ ÜÐ6Ó7Ð 7䜠wÓ/Ó0ˆ
ܘe e™m¨wÑ6¸
ÓCÐCr)rr*)r*r)9Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrrr r#r'r4Ú classmethodr8r=r?rBrDrFrHrKÚ__bool__rMrSrWrZr^rbrkrmrprvrxr{r}rrr„r‹rrr’r•r—ršrr r£r¦rªr­r¯rr²r´Ú staticmethodr¹r©rrr
r
$s6„Ù=ò òòò)ò ò óð ò/óð/ò(ò
%ò'ò6ò%ò%ò à€Hòò"ò "ò "ò ;ò;ó ó 5ò ó&ò*òòòò7ò7òòò6ò òò"&ò&ò(ò2ò %ò3òò"òòò
EòRð ñ%7óð%7ðNñ    Dóñ    Drr
N)Ú _IntegerBaserÚCrypto.Util.numberrrrrr
rÊrrú<module>rÍs ðõ>&çIÓIôZDKõZDr