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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
Ë
ž¬`i4Bãóº—ddlZddlmZmZddlmZmZmZmZm    Z    m
Z
ddl m Z ddl mZGd„de«ZGd„d    e«Ze«ZGd
„d e«ZGd „d e«Zy)éN)Ú bytes_to_longÚ long_to_bytes)Ú VoidPointerÚ null_pointerÚ SmartPointerÚc_size_tÚ c_uint8_ptrÚ c_ulonglong)ÚInteger)Ú getrandbitscó0—eZdZdZdZdZdZdZdZdZ    dZ
d    Z y
) ÚCurveIDééééééééé    N) Ú__name__Ú
__module__Ú __qualname__ÚP192ÚP224ÚP256ÚP384ÚP521ÚED25519ÚED448Ú
CURVE25519ÚCURVE448©óõjH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/PublicKey/_point.pyrrs/„Ø €DØ €DØ €DØ €DØ €DØ€GØ €EØ€J؁Hr%rcó̗eZdZiZej
«Zgd¢Zgd¢Zgd¢Z    gd¢Z
gd¢Z ddgZ dd    gZ gd
¢Zgd ¢Zeeze    ze
ze ze ze zezezZd „Zd „Zd„Zd„Zd„Zy)Ú_Curves)Úp192z
NIST P-192zP-192Ú
prime192v1Ú    secp192r1Únistp192)Úp224z
NIST P-224zP-224Ú
prime224v1Ú    secp224r1Únistp224)Úp256z
NIST P-256zP-256Ú
prime256v1Ú    secp256r1Únistp256)Úp384z
NIST P-384zP-384Ú
prime384v1Ú    secp384r1Únistp384)Úp521z
NIST P-521zP-521Ú
prime521v1Ú    secp521r1Únistp521Úed25519ÚEd25519Úed448ÚEd448)Ú
curve25519Ú
Curve25519ÚX25519)Úcurve448ÚCurve448ÚX448có—||jvS©N©Ú    all_names)ÚselfÚitems  r&Ú __contains__z_Curves.__contains__1s€Øt—~‘~Ð%Ð%r%có—|jSrHrI©rKs r&Ú__dir__z_Curves.__dir__4s €Ø~‰~Ðr%có^—||jvrfddlm}|j«}tj
|_|jjtj|j|««n«||jvrfddlm}|j«}tj|_|jjtj|j|««n7||jvrfddlm}|j«}tj |_|jjtj|j|««nÃ||j"vrfddlm}|j%«}tj&|_|jjtj|j"|««nO||j(vrfddlm}|j+«}tj,|_|jjtj|j(|««nÛ||j.vrfddlm}|j3«}    tj4|    _|jjtj|j.|    ««ng||j6vreddlm}|j9«}
tj:|
_|jjtj|j6|
««nô||j<vreddlm} | jA«} tjB| _|jjtj|j<| ««n||jDvreddlm} | jG«} tjH| _|jjtj|jD| ««ntKd|z«‚|j|S)Nr)Ú    _nist_ecc)Ú_edwards)Ú _montgomeryzUnsupported curve '%s')&Ú
p192_namesÚrRÚ
p192_curverrÚidÚcurvesÚupdateÚdictÚfromkeysÚ
p224_namesÚ
p224_curverÚ
p256_namesÚ
p256_curverÚ
p384_namesÚ
p384_curverÚ
p521_namesÚ
p521_curverÚ ed25519_namesrSÚ ed25519_curver Ú ed448_namesÚ ed448_curver!Úcurve25519_namesrTÚcurve25519_curver"Úcurve448_namesÚcurve448_curver#Ú
ValueError)rKÚnamerRr)r-r1r5r9rSr=r?rTrArDs              r&Úloadz _Curves.load7sÇ€Ø 4—?‘?Ñ "Ý #Ø×'Ñ'Ó)ˆDÜ—l‘lˆDŒGØ K‰K× Ñ œtŸ}™}¨T¯_©_¸dÓCÖ DØ T—_‘_Ñ $Ý #Ø×'Ñ'Ó)ˆDÜ—l‘lˆDŒGØ K‰K× Ñ œtŸ}™}¨T¯_©_¸dÓCÖ DØ T—_‘_Ñ $Ý #Ø×'Ñ'Ó)ˆDÜ—l‘lˆDŒGØ K‰K× Ñ œtŸ}™}¨T¯_©_¸dÓCÖ DØ T—_‘_Ñ $Ý #Ø×'Ñ'Ó)ˆDÜ—l‘lˆDŒGØ K‰K× Ñ œtŸ}™}¨T¯_©_¸dÓCÖ DØ T—_‘_Ñ $Ý #Ø×'Ñ'Ó)ˆDÜ—l‘lˆDŒGØ K‰K× Ñ œtŸ}™}¨T¯_©_¸dÓCÖ DØ T×'Ñ'Ñ 'Ý "Ø×,Ñ,Ó.ˆGÜ Ÿ™ˆGŒJØ K‰K× Ñ œtŸ}™}¨T×-?Ñ-?ÀÓIÖ JØ T×%Ñ%Ñ %Ý "Ø×(Ñ(Ó*ˆEÜ—}‘}ˆEŒHØ K‰K× Ñ œtŸ}™}¨T×-=Ñ-=¸uÓEÕ FØ T×*Ñ*Ñ *Ý %Ø$×5Ñ5Ó7ˆJÜ#×.Ñ.ˆJŒMØ K‰K× Ñ œtŸ}™}¨T×-BÑ-BÀJÓOÕ PØ T×(Ñ(Ñ (Ý %Ø"×1Ñ1Ó3ˆHÜ!×*Ñ*ˆHŒKØ K‰K× Ñ œtŸ}™}¨T×-@Ñ-@À(ÓKÕ LäÐ5¸Ñ<Ó=Ð =؏{‰{˜4ѠРr%cóf—|j5|jj|«}|€ñ|j|«}||jvs||j
vrt |j|«|_n&t|j|j|«|_|jtjtjfv|_|jtj tj"fv|_|jxs |j$ |_ddd«|S#1swYSxYwrH)Ú curves_lockrYÚgetrorirkÚ    EccXPointÚGxÚGÚEccPointÚGyrXrr r!Ú
is_edwardsr"r#Ú is_montgomeryÚis_weierstrass)rKrnÚcurves   r&Ú __getitem__z_Curves.__getitem__isÿ€Ø × Ñ ñ     AØ—K‘K—O‘O DÓ)ˆE؈}ØŸ    ™     $›Ø˜4×0Ñ0Ñ0°D¸D×<OÑ<OÑ4OÜ'¨¯©°$Ó7E•Gä& u§x¡x°·±¸4Ó@E”GØ#(§8¡8´·±ÄÇÁÐ/OÐ#OÔ Ø&+§h¡h´7×3EÑ3EÜ3:×3CÑ3Cð3Eð'EÔ#à,1×,<Ñ,<ò-@Ø,1×,?Ñ,?ð(AÔ$÷     Aðˆ ÷     Aðˆ ús DD&Ä&D0cób—|jD]}||}Œ    |jj«SrH)rJrYÚitems)rKrnÚ_s   r&r~z _Curves.itemsys1€à—N‘Nò    ˆDؐT‘
‰Að    à{‰{× Ñ Ó"Ð"r%N)rrrrYÚ    threadingÚRLockrqrUr]r_rarcrergrirkrJrMrPror|r~r$r%r&r(r(s«„à €FØ!)—/‘/Ó#€Kò€Jò€Jò€Jò€Jò€Jà     Ð*€MؘGÐ$€KÚ=ÐÚ5€Nà˜ZÑ'¨*Ñ4°zÑAÀJÑNØñØ#ñ$Ø&6ñ7Ø9GñH€Iò&òò0!òdó #r%r(có¢—eZdZdZdd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z e d
„«Z e d „«Ze d „«Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zy)rvaÁA class to model a point on an Elliptic Curve.
 
    The class supports operators for:
 
    * Adding two points: ``R = S + T``
    * In-place addition: ``S += T``
    * Negating a point: ``R = -T``
    * Comparing two points: ``if S == T: ...`` or ``if S != T: ...``
    * Multiplying a point by a scalar: ``R = S*k``
    * In-place multiplication by a scalar: ``T *= k``
 
    :ivar curve: The **canonical** name of the curve as defined in the `ECC table`_.
    :vartype curve: string
 
    :ivar x: The affine X-coordinate of the ECC point
    :vartype x: integer
 
    :ivar y: The affine Y-coordinate of the ECC point
    :vartype y: integer
 
    :ivar xy: The tuple with affine X- and Y- coordinates
    cóÄ—    t||_|jj
|_|jjtjk(r td«‚|j«}t||«}t||«}t|«|k7st|«|k7r td«‚|jjj}|jjj}t!«|_    |jj$j'«}    ||j"j-«t/|«t/|«t1|«|    «}
|
r|
dk(r td«‚td|
z«‚t3|j"j'«|«|_y#t$rtdt    |«z«‚wxYw#t($r    t*}    YŒ¾wxYw)NúUnknown curve name %sz)EccPoint cannot be created for Curve25519úIncorrect coordinate lengthéú)The EC point does not belong to the curveú(Error %d while instantiating an EC point)Ú_curvesÚ_curveÚKeyErrorrmÚstrÚ    canonicalr{rXrr"Ú size_in_bytesrÚlenÚrawlibÚ    new_pointÚ
free_pointrÚ_pointÚcontextrrÚAttributeErrorrÚ
address_ofr    rr) rKÚxÚyr{Ú modulus_bytesÚxbÚybr‘Ú    free_funcr”Úresults            r&Ú__init__zEccPoint.__init__›s—€ð    CÜ! %™.ˆDŒKð—[‘[×*Ñ*ˆŒ
à ;‰;>‰>œW×/Ñ/Ò /ÜÐHÓIÐ Ià×*Ñ*Ó,ˆ ä ˜1˜mÓ ,ˆÜ ˜1˜mÓ ,ˆÜ ˆr‹7mÒ #¤s¨2£w°-Ò'?ÜÐ:Ó;Ð ;à—K‘K×&Ñ&×0Ñ0ˆ    Ø—K‘K×&Ñ&×1Ñ1ˆ    ä!“mˆŒ ð    #Ø—k‘k×)Ñ)×-Ñ-Ó/ˆGñ˜4Ÿ;™;×1Ñ1Ó3Ü& r›?Ü& r›?Ü# MÓ2Ø"ó    $ˆñ ؘŠ|Ü Ð!LÓMÐMÜÐGÈ&ÑPÓQÐ Qô# 4§;¡;§?¡?Ó#4°iÓ@ˆ øôGò    CÜÐ4´s¸5³zÑAÓBÐ Bð    Cûô(ò    #Ü"ŠGð    #ús‚F)Ã<$G Æ)!G
Ç GÇGcóˆ—|jjj}|jjj}t    «|_||j
j «|j
j««}|rtd|z«‚t|j
j«|«|_|S©Nz"Error %d while cloning an EC point©
rŠrÚcloner’rr“r–rrrmr©rKÚpointr¢rœrs     r&Úsetz EccPoint.setÄs’€Ø— ‘ ×"Ñ"×(Ñ(ˆØ—K‘K×&Ñ&×1Ñ1ˆ    ä!“mˆŒ ِt—{‘{×-Ñ-Ó/Ø—|‘|×'Ñ'Ó)ó+ˆñ ÜÐAÀFÑJÓKÐ Kä" 4§;¡;§?¡?Ó#4°iÓ@ˆŒ ؈ r%cóܗt|t«sy|jjj}d||j
j «|j
j ««k(S©NFr)Ú
isinstancervrŠrÚcmpr“rr)rKr¤Úcmp_funcs   r&Ú__eq__zEccPoint.__eq__ÒsN€Ü˜%¤Ô*Øà—;‘;×%Ñ%×)Ñ)ˆØ‘H˜TŸ[™[Ÿ_™_Ó.°· ± ×0@Ñ0@Ó0BÓCÑCÐCr%có—||k( SrHr$)rKr¤s  r&Ú__ne__zEccPoint.__ne__Ús€Ø˜5‘=РРr%cóƗ|jjj}|j«}||jj ««}|rt d|z«‚|S)Nz$Error %d while inverting an EC point)rŠrÚnegÚcopyr“rrrm)rKÚneg_funcÚnprs    r&Ú__neg__zEccPoint.__neg__ÝsO€Ø—;‘;×%Ñ%×)Ñ)ˆØ Y‰Y‹[ˆÙ˜"Ÿ)™)Ÿ-™-›/Ó*ˆÙ ÜÐCÀfÑLÓMÐ M؈    r%cóR—|j\}}t|||j«}|S©zReturn a copy of this point.)Úxyrvr{)rKr—r˜r²s    r&r°z EccPoint.copyås&€àw‰w‰ˆˆ1Ü a˜˜DŸJ™JÓ 'ˆØˆ    r%cój—|jjr|jdk(S|jdk(S)ú,``True`` if this is the *point-at-infinity*.r)rr)rŠrxr—r¶rOs r&Úis_point_at_infinityzEccPoint.is_point_at_infinityës.€ð ;‰;× !Ò !Ø—6‘6˜Q‘;Ð à—7‘7˜fÑ$Ð $r%cóŠ—|jjrtdd|j«Stdd|j«S)ú-Return the *point-at-infinity* for the curve.rr)rŠrxrvr{rOs r&Úpoint_at_infinityzEccPoint.point_at_infinityós7€ð ;‰;× !Ò !ܘA˜q $§*¡*Ó-Ð -ä˜A˜q $§*¡*Ó-Ð -r%có —|jdS)Nr©r¶rOs r&r—z
EccPoint.xûó€àw‰wq‰zÐr%có —|jdS)Nrr¾rOs r&r˜z
EccPoint.yÿr¿r%cóz—|j«}t|«}t|«}|jjj}|t |«t |«t |«|jj««}|rtd|z«‚tt|««tt|««fS)Nz#Error %d while encoding an EC point) rŽÚ    bytearrayrŠrÚget_xyr    rr“rrrmr r)rKr™ršr›rÃrs      r&r¶z EccPoint.xys›€à×*Ñ*Ó,ˆ Ü }Ó %ˆÜ }Ó %ˆØ—‘×#Ñ#×*Ñ*ˆÙœ  B›Ü# B›Ü  Ó/ØŸ ™ Ÿ™Ó)ó+ˆñ ÜÐBÀVÑKÓLÐ Läœ  bÓ)Ó*¬G´MÀ"Ó4EÓ,FÐGÐGr%có.—|j«dzdzS©z"Size of each coordinate, in bytes.rr©Ú size_in_bitsrOs r&rŽzEccPoint.size_in_bytesó€à×!Ñ!Ó# aÑ'¨AÑ-Ð-r%có.—|jjS©z!Size of each coordinate, in bits.©rŠÚ modulus_bitsrOs r&rÇzEccPoint.size_in_bitsó€à{‰{×'Ñ'Ð'r%có¦—|jjj}||jj    ««}|rt d|z«‚|S)zuDouble this point (in-place operation).
 
        Returns:
            This same object (to enable chaining).
        z#Error %d while doubling an EC point)rŠrÚdoubler“rrrm)rKÚ double_funcrs   r&rÏzEccPoint.doublesG€ð—k‘k×(Ñ(×/Ñ/ˆ Ù˜TŸ[™[Ÿ_™_Ó.Ó/ˆÙ ÜÐBÀVÑKÓLÐ L؈ r%cóø—|jjj}||jj    «|jj    ««}|r|dk(r t d«‚t d|z«‚|S)zAdd a second point to this oneéz#EC points are not on the same curvez#Error %d while adding two EC points)rŠrÚaddr“rrrm)rKr¤Úadd_funcrs    r&Ú__iadd__zEccPoint.__iadd__'si€ð—;‘;×%Ñ%×)Ñ)ˆÙ˜$Ÿ+™+Ÿ/™/Ó+¨U¯\©\×-=Ñ-=Ó-?Ó@ˆÙ ؘŠ|Ü Ð!FÓGÐGÜÐBÀVÑKÓLÐ L؈ r%có0—|j«}||z }|S)z8Return a new point, the addition of this one and another©r°)rKr¤r²s   r&Ú__add__zEccPoint.__add__2s€ðY‰Y‹[ˆØ
ˆe‰ ˆØˆ    r%c
ó<—|jjj}|dkr td«‚t    |«}||j
j «t|«tt|««ttd«««}|rtd|z«‚|S©zMultiply this point by a scalarrz?Scalar multiplication is only defined for non-negative integersé@z%Error %d during scalar multiplication© rŠrÚscalarrmrr“rrr    rrr
r ©rKrÝÚ scalar_funcÚsbrs     r&Ú__imul__zEccPoint.__imul__9ó‡€ð—k‘k×(Ñ(×/Ñ/ˆ Ø AŠ:ÜÐ^Ó_Ð _Ü ˜6Ó "ˆÙ˜TŸ[™[Ÿ_™_Ó.Ü(¨›_Ü%¤c¨"£gÓ.Ü(¬°R«Ó9ó;ˆñ ÜÐDÀvÑMÓNÐ N؈ r%có0—|j«}||z}|S©z2Return a new point, the scalar product of this onerשrKrÝr²s   r&Ú__mul__zEccPoint.__mul__Hó€ðY‰Y‹[ˆØ
ˆf‰ ˆØˆ    r%có$—|j|«SrH©ræ©rKÚ    left_hands  r&Ú__rmul__zEccPoint.__rmul__Oó€Ø|‰|˜IÓ&Ð&r%N)r1)rrrÚ__doc__ržr¥r«r­r³r°r¹r¼Úpropertyr—r˜r¶rŽrÇrÏrÕrØrárærìr$r%r&rvrvƒs˜„ñó.'AòR òDò!òòò %ò.ðñóððñóððñ Hóð Hò.ò(ò ò    òò òó'r%rvcób—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z    e
d„«Z d    „Z d
„Z d „Zd „Zd „Zy)rsa°A class to model a point on an Elliptic Curve,
    where only the X-coordinate is exposed.
 
    The class supports operators for:
 
    * Multiplying a point by a scalar: ``R = S*k``
    * In-place multiplication by a scalar: ``T *= k``
 
    :ivar curve: The **canonical** name of the curve as defined in the `ECC table`_.
    :vartype curve: string
 
    :ivar x: The affine X-coordinate of the ECC point
    :vartype x: integer
    cóÌ—    t||_|jj
|_|jjtjtjfvr td«‚|jjj}|jjj}t«|_    |jj j#«}|j)«}|€t&}n.t+t-||««}t/|«|k7r td«‚t«|_||jj1«|t3|«|«}|dk(r td«‚|rtd|z«‚t5|jj#«|«|_y#t$rtdt    |«z«‚wxYw#t$$r
t&}YŒwxYw)Nr„z5EccXPoint can only be created for Curve25519/Curve448r…r†r‡rˆ)r‰rŠr‹rmrŒrr{rXrr"r#rr‘r’rr“r”rrr•rrŽr    rrr–rr)    rKr—r{r‘rœr”r™ršrs             r&ržzEccXPoint.__init__cs˜€ð
    CÜ! %™.ˆDŒKð—[‘[×*Ñ*ˆŒ
à ;‰;>‰>¤'×"4Ñ"4´g×6FÑ6FÐ!GÑ GÜÐTÓUÐ Uà—K‘K×&Ñ&×0Ñ0ˆ    Ø—K‘K×&Ñ&×1Ñ1ˆ    ä!“mˆŒ ð    #Ø—k‘k×)Ñ)×-Ñ-Ó/ˆGð×*Ñ*Ó,ˆ à ˆ9܉Bäœ]¨1¨mÓ<Ó=ˆBܐ2‹w˜-Ò'Ü Ð!>Ó?Ð?ä!“mˆŒ Ù˜4Ÿ;™;×1Ñ1Ó3ØÜ# MÓ2Ø"ó$ˆð
RŠ<ÜÐHÓIÐ IÙ ÜÐGÈ&ÑPÓQÐ Qô# 4§;¡;§?¡?Ó#4°iÓ@ˆ øôMò    CÜÐ4´s¸5³zÑAÓBÐ Bð    Cûôò    #Ü"‹Gð    #ús‚F,Â<$GÆ,!G ÇG#Ç"G#cóˆ—|jjj}|jjj}t    «|_||j
j «|j
j««}|rtd|z«‚t|j
j«|«|_|Sr r¡r£s     r&r¥z EccXPoint.set’s€Ø— ‘ ×"Ñ"×(Ñ(ˆØ—K‘K×&Ñ&×1Ñ1ˆ    ä!“mˆŒ ِt—{‘{×-Ñ-Ó/Ø—|‘|×'Ñ'Ó)ó+ˆá ÜÐAÀFÑJÓKÐ Kä" 4§;¡;§?¡?Ó#4°iÓ@ˆŒ ؈ r%cóè—t|t«sy|jjj}|j
j «}|j
j «}|||«}d|k(Sr§)r¨rsrŠrr©r“rr)rKr¤rªÚp1Úp2Úress      r&r«zEccXPoint.__eq__Ÿs[€Ü˜%¤Ô+Øà—;‘;×%Ñ%×)Ñ)ˆØ [‰[_‰_Ó ˆØ \‰\× Ñ Ó ˆÙr˜2ӈؐC‰xˆr%c󆗠   |j}t||j«S#t$r|j«cYSwxYwrµ)r—rmr¼rsr{)rKr—s  r&r°zEccXPoint.copy©sC€ð    ,Ø—‘ˆAô˜˜DŸJ™JÓ'Ð'øôò    ,Ø×)Ñ)Ó+Ò +ð    ,ús‚ $¤A¿Acó<—    |j}y#t$rYywxYw)r¸TF)r—rm)rKrs  r&r¹zEccXPoint.is_point_at_infinity²s)€ð    Ø—‘ˆAðøôò    Ùð    ús ‚     šcó.—td|j«S)r»N)rsr{rOs r&r¼zEccXPoint.point_at_infinity»s€ô˜˜tŸz™zÓ*Ð*r%cóH—|j«}t|«}|jjj}|t |«t |«|jj««}|dk(r td«‚|rtd|z«‚tt|««S)Néz)No X coordinate for the point at infinityz'Error %d while getting X of an EC point) rŽrÂrŠrÚget_xr    rr“rrrmr r)rKr™ršrürs     r&r—z EccXPoint.xÀsŽ€à×*Ñ*Ó,ˆ Ü }Ó %ˆØ— ‘ ×"Ñ"×(Ñ(ˆÙ”{ 2“Ü  Ó.Ø—{‘{—‘Ó(ó*ˆð RŠ<ÜÐHÓIÐ IÙ ÜÐFÈÑOÓPÐ PÜ”} RÓ(Ó)Ð)r%có.—|j«dzdzSrÅrÆrOs r&rŽzEccXPoint.size_in_bytesÎrÈr%có.—|jjSrÊrËrOs r&rÇzEccXPoint.size_in_bitsÒrÍr%c
ó<—|jjj}|dkr td«‚t    |«}||j
j «t|«tt|««ttd«««}|rtd|z«‚|SrÚrÜrÞs     r&rázEccXPoint.__imul__Örâr%có0—|j«}||z}|Srär×rås   r&ræzEccXPoint.__mul__årçr%có$—|j|«SrHrérês  r&rìzEccXPoint.__rmul__ìrír%N)rrrrîržr¥r«r°r¹r¼rïr—rŽrÇrárærìr$r%r&rsrsSsT„ñ ò-Aò^ òò(òò+ð
ñ *óð *ò.ò(ò òó'r%rs)r€ÚCrypto.Util.numberrrÚCrypto.Util._raw_apirrrrr    r
ÚCrypto.Math.Numbersr ÚCrypto.Random.randomr Úobjectrr(r‰rvrsr$r%r&ú<module>rs`ðóç;÷/÷/õ(Ý,ô    ˆfô    ôc#ˆfôc#ñL ‹)€ôM'ˆvôM'ô`Z'õZ'r%