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
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
Ë
ž¬`ió1ãór—ddlmZddlmZmZddlmZmZddlm    Z    m
Z
m Z m Z d„Z d„ZGd„de«Zd d
„Zy    ) é)ÚInteger)ÚSHA512ÚSHAKE256)ÚbchrÚis_bytes)ÚEccKeyÚ    constructÚ_import_ed25519_public_keyÚ_import_ed448_public_keycóȗt|«dk(rt|«\}}d}n6t|«dk(rt|«\}}d}ntdt|«z«‚t    |||¬«S)a­Create a new Ed25519 or Ed448 public key object,
    starting from the key encoded as raw ``bytes``,
    in the format described in RFC8032.
 
    Args:
      encoded (bytes):
        The EdDSA public key to import.
        It must be 32 bytes for Ed25519, and 57 bytes for Ed448.
 
    Returns:
      :class:`Crypto.PublicKey.EccKey` : a new ECC key object.
 
    Raises:
      ValueError: when the given key cannot be parsed.
    é ÚEd25519é9ÚEd448zNot an EdDSA key (%d bytes))ÚcurveÚpoint_xÚpoint_y)Úlenr
r Ú
ValueErrorr    )ÚencodedÚxÚyÚ
curve_names    õiH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/Signature/eddsa.pyÚimport_public_keyr)sf€ô" ˆ7ƒ|rÒÜ)¨'Ó2‰ˆˆ1؉
Ü     ˆW‹˜Ò    Ü'¨Ó0‰ˆˆ1؉
äÐ6¼¸W»ÑEÓFÐFÜ ˜:¨q¸!Ô <Ð<ócóv—t|«dk(rd}nt|«dk(rd}n td«‚t||¬«S)a¯Create a new Ed25519 or Ed448 private key object,
    starting from the key encoded as raw ``bytes``,
    in the format described in RFC8032.
 
    Args:
      encoded (bytes):
        The EdDSA private key to import.
        It must be 32 bytes for Ed25519, and 57 bytes for Ed448.
 
    Returns:
      :class:`Crypto.PublicKey.EccKey` : a new ECC key object.
 
    Raises:
      ValueError: when the given key cannot be parsed.
    r Úed25519rÚed448z8Incorrect length. Only EdDSA private keys are supported.)Úseedr)rrr    )rrs  rÚimport_private_keyr!EsA€ô" ˆ7ƒ|rÒØ‰
Ü     ˆW‹˜Ò    Ø‰
äÐSÓTÐTô
˜'¨Ô 4Ð4rcó@—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z y
) ÚEdDSASigSchemezlAn EdDSA signature object.
    Do not instantiate directly.
    Use :func:`Crypto.Signature.eddsa.new`.
    có€—||_||_|j«|_|jj
|_y)z…Create a new EdDSA object.
 
        Do not instantiate this object directly,
        use `Crypto.Signature.DSS.new` instead.
        N)Ú_keyÚ_contextÚ_export_eddsa_publicÚ_AÚ_curveÚorderÚ_order)ÚselfÚkeyÚcontexts   rÚ__init__zEdDSASigScheme.__init__is3€ðˆŒ    ØˆŒ Ø×*Ñ*Ó,ˆŒØ—j‘j×&Ñ&ˆ rcó6—|jj«S)zRReturn ``True`` if this signature object can be used
        for signing messages.)r%Ú has_private)r,s rÚcan_signzEdDSASigScheme.can_signus€ðy‰y×$Ñ$Ó&Ð&rcóÔ—|jj«s td«‚|jjdk(r?t    |t
j «}|st|«s td«‚|j}nc|jjdk(r?t    |tj«}|st|«s td«‚|j}n td«‚|||«S)aJCompute the EdDSA signature of a message.
 
        Args:
          msg_or_hash (bytes or a hash object):
            The message to sign (``bytes``, in case of *PureEdDSA*) or
            the hash that was carried out over the message (hash object, for *HashEdDSA*).
 
            The hash object must be :class:`Crypto.Hash.SHA512` for Ed25519,
            and :class:`Crypto.Hash.SHAKE256` object for Ed448.
 
        :return: The signature as ``bytes``. It is always 64 bytes for Ed25519, and 114 bytes for Ed448.
        :raise TypeError: if the EdDSA key has no private half
        zPrivate key is needed to signrú-'msg_or_hash' must be bytes of a SHA-512 hashrú.'msg_or_hash' must be bytes of a SHAKE256 hashúIncorrect curve for EdDSA) r%r1Ú    TypeErrorrÚ
isinstancerÚ
SHA512HashrÚ _sign_ed25519rÚ SHAKE256_XOFÚ _sign_ed448r)r,Ú msg_or_hashÚphÚeddsa_sign_methods    rÚsignzEdDSASigScheme.sign{sÀðy‰y×$Ñ$Ô&ÜÐ;Ó<Ð <à 9‰9?‰?˜iÒ 'ܘK¬×):Ñ):Ó;ˆBÙœ( ;Ô/ÜРOÓPÐPØ $× 2Ñ 2Ñ à Y‰Y_‰_ Ò 'ܘK¬×)>Ñ)>Ó?ˆBÙœ( ;Ô/ÜРPÓQÐQØ $× 0Ñ 0Ñ ôÐ8Ó9Ð 9á  ¨bÓ1Ð1rcó:—|js|rFt|«}dt|«ztt|j««z|jz}nd}|r|j    «n|}t j ||jjz|z«j    «}tj|d«|jz}t||jjjz¬«j«}t j ||z|j z|z«j    «}    tj|    d«|jz}
||
|jj"zz|jz} || j%dd«zS)Nó SigEd25519 no Ed25519 collisionsrÚlittle©Úpointr )r&ÚintrrÚdigestrÚnewr%Ú_prefixrÚ
from_bytesr+rr)ÚGr'r(ÚdÚto_bytes) r,r=r>ÚflagÚdom2ÚPHMÚr_hashÚrÚR_pkÚk_hashÚkÚss             rr:zEdDSASigScheme._sign_ed25519žsF€à =Š=™Bܐr“7ˆDà6¼¸d»ÑCÜœ˜DŸM™MÓ*Ó+ñ,Ø.2¯m©mñ<‰DðˆDá&(ˆk× Ñ Ô"¨kˆô
—‘˜D 4§9¡9×#4Ñ#4Ñ4°sÑ:Ó;×BÑBÓDˆÜ × Ñ ˜v xÓ 0°4·;±;Ñ >ˆä˜A §    ¡    × 0Ñ 0× 2Ñ 2Ñ2Ô3×HÑHÓJˆä—‘˜D 4™K¨$¯'©'Ñ1°CÑ7Ó8×?Ñ?ÓAˆÜ × Ñ ˜v xÓ 0°4·;±;Ñ >ˆà T—Y‘Y—[‘[‘Ñ   D§K¡KÑ /ˆàa—j‘j  XÓ.Ñ.Ð.rcó:—t|«}dt|«ztt|j««z|jz}|r|j    «j d«n|}t j||jjz|z«j d«}tj|d«|jz}t||jjjz¬«j!«}t j||z|j"z|z«j d«}    tj|    d«|jz}
||
|jj$zz|jz} || j'dd«zS)NóSigEd448é@érrCrDr)rFrrr&ÚcopyÚreadrrHr%rIrrJr+rr)rKr'r(rLrM) r,r=r>rNÚdom4rPrQrRrSrTrUrVs             rr<zEdDSASigScheme._sign_ed448¹sG€ä2‹wˆàœT $›ZÑ'Ü”C˜Ÿ ™ Ó&Ó'ñ(Ø*.¯-©-ñ8ˆñ.0ˆk×ÑÓ ×%Ñ% bÔ)°[ˆô
—‘˜d T§Y¡Y×%6Ñ%6Ñ6¸Ñ<Ó=×BÑBÀ3ÓGˆÜ × Ñ ˜v xÓ 0°4·;±;Ñ >ˆä˜A §    ¡    × 0Ñ 0× 2Ñ 2Ñ2Ô3×HÑHÓJˆä—‘˜d T™k¨D¯G©GÑ3°cÑ9Ó:×?Ñ?ÀÓDˆÜ × Ñ ˜v xÓ 0°4·;±;Ñ >ˆà T—Y‘Y—[‘[‘Ñ   D§K¡KÑ /ˆàa—j‘j  XÓ.Ñ.Ð.rcóŒ—|jjdk(r?t|tj«}|st |«s t d«‚|j}nc|jjdk(r?t|tj«}|st |«s t d«‚|j}n td«‚||||«S)aCheck if an EdDSA signature is authentic.
 
        Args:
          msg_or_hash (bytes or a hash object):
            The message to verify (``bytes``, in case of *PureEdDSA*) or
            the hash that was carried out over the message (hash object, for *HashEdDSA*).
 
            The hash object must be :class:`Crypto.Hash.SHA512` object for Ed25519,
            and :class:`Crypto.Hash.SHAKE256` for Ed448.
 
          signature (``bytes``):
            The signature that needs to be validated.
            It must be 64 bytes for Ed25519, and 114 bytes for Ed448.
 
        :raise ValueError: if the signature is not authentic
        rr4rr5r6) r%rr8rr9rr7Ú_verify_ed25519rr;Ú _verify_ed448r)r,r=Ú    signaturer>Úeddsa_verify_methods     rÚverifyzEdDSASigScheme.verifyÑs©€ð$ 9‰9?‰?˜iÒ 'ܘK¬×):Ñ):Ó;ˆBÙœ( ;Ô/ÜРOÓPÐPØ"&×"6Ñ"6Ñ à Y‰Y_‰_ Ò 'ܘK¬×)>Ñ)>Ó?ˆBÙœ( ;Ô/ÜРPÓQÐQØ"&×"4Ñ"4Ñ ôÐ8Ó9Ð 9á" ;°    ¸2Ó>Ð>rcó:—t|«dk7r td«‚|js|rFt|«}dt    |«zt    t|j««z|jz}nd}|r|j «n|}    t |dd«j}tj|ddd«}||jkDr td«‚tj||ddz|jz|z«j «}    tj|    d«|jz}
|d    z|jjj z} d    |z|
d    z|jjzz} | | k7r td
«‚y#t$r td«‚wxYw) NrYú'The signature is not authentic (length)rBrr ú"The signature is not authentic (R)rCú"The signature is not authentic (S)éúThe signature is not authentic)rrr&rFrrGrÚpointQrrJr+rrHr(r%r)rK) r,r=rar>rNrOrPÚRrVrTrUÚpoint1Úpoint2s              rr_zEdDSASigScheme._verify_ed25519ôs†€ä ˆy‹>˜RÒ ÜÐFÓGÐ Gà =Š=™Bܐr“7ˆDØ6¼¸d»ÑCÜœ˜DŸM™MÓ*Ó+ñ,Ø.2¯m©mñ<‰DðˆDá&(ˆk× Ñ Ô"¨kˆð
    CÜ! )¨C¨R .Ó1×8Ñ8ˆAô × Ñ ˜y¨¨˜~¨xÓ 8ˆØ ˆt{‰{Š?ÜÐAÓBÐ Bä—‘˜D 9¨S¨b >Ñ1°D·G±GÑ;¸cÑAÓB×IÑIÓKˆÜ × Ñ ˜v xÓ 0°4·;±;Ñ >ˆàQ‘˜Ÿ™×)Ñ)×+Ñ+Ñ+ˆðQ‘˜˜Q™ §¡×!1Ñ!1Ñ1Ñ1ˆØ VÒ ÜÐ=Ó>Ð >ð øôò    CÜÐAÓBÐ Bð    Cús ÂFÆFcó8—t|«dk7r td«‚t|«}dt|«ztt|j««z|jz}|r|j «j d«n|}    t|dd«j}tj|ddd«}||jkDr td«‚tj||ddz|jz|z«j d«}    tj|    d«|jz}
|d    z|jj j"z} d    |z|
d    z|jjzz} | | k7r td
«‚y#t$r td«‚wxYw) NrZrerXrYrrfrCrgrhri)rrrFrr&r[r\rrjrrJr+rrHr(r%r)rK) r,r=rar>rNr]rPrkrVrTrUrlrms              rr`zEdDSASigScheme._verify_ed448s…€ä ˆy‹>˜SÒ  ÜÐFÓGÐ Gä2‹wˆàœT $›ZÑ'Ü”C˜Ÿ ™ Ó&Ó'ñ(Ø*.¯-©-ñ8ˆñ.0ˆk×ÑÓ ×%Ñ% bÔ)°[ˆð
    CÜ! )¨C¨R .Ó1×8Ñ8ˆAô × Ñ ˜y¨¨˜~¨xÓ 8ˆØ ˆt{‰{Š?ÜÐAÓBÐ Bä—‘˜d Y¨s° ^Ñ3°d·g±gÑ=ÀÑCÓD×IÑIÈ#ÓNˆÜ × Ñ ˜v xÓ 0°4·;±;Ñ >ˆàQ‘˜Ÿ™×)Ñ)×+Ñ+Ñ+ˆðQ‘˜˜Q™ §¡×!1Ñ!1Ñ1Ñ1ˆØ VÒ ÜÐ=Ó>Ð >ð øôò    CÜÐAÓBÐ Bð    Cús ÂFÆFN) Ú__name__Ú
__module__Ú __qualname__Ú__doc__r/r2r@r:r<rcr_r`©rrr#r#cs2„ñò
 
'ò'ò !2òF/ò6/ò0!?òF!?óF?rr#Ncóȗt|t«r|jdvr td«‚|dk7r td«‚|€d}nt    |«dkDr td«‚t ||«S)a¥Create a signature object :class:`EdDSASigScheme` that
    can perform or verify an EdDSA signature.
 
    Args:
        key (:class:`Crypto.PublicKey.ECC` object):
            The key to use for computing the signature (*private* keys only)
            or for verifying one.
            The key must be on the curve ``Ed25519`` or ``Ed448``.
 
        mode (string):
            This parameter must be ``'rfc8032'``.
 
        context (bytes):
            Up to 255 bytes of `context <https://datatracker.ietf.org/doc/html/rfc8032#page-41>`_,
            which is a constant byte string to segregate different protocols or
            different applications of the same key.
    )rrz&EdDSA can only be used with EdDSA keysÚrfc8032zMode must be 'rfc8032'réÿz3Context for EdDSA must not be longer than 255 bytes)r8rrrrr#)r-Úmoder.s   rrHrH9si€ô& cœ6Ô " c§i¡iÐ7KÑ&KÜÐAÓBÐBà ˆyÒÜÐ1Ó2Ð2à€Ø‰Ü     ˆW‹˜Ò    ÜÐNÓOÐOä ˜#˜wÓ 'Ð'r)N)ÚCrypto.Math.NumbersrÚ Crypto.HashrrÚCrypto.Util.py3compatrrÚCrypto.PublicKey.ECCrr    r
r rr!Úobjectr#rHrsrrú<module>r}s8ðõ>(ç(ß0÷<ó<ò =ò85ô<S?VôS?ôl(r