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
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
Ë
ž¬`i´ãóL—ddlmZddlmZmZmZmZd„Zd„Zd„Z    d„Z
d„Z d„Z y    )
é)Ú long_to_bytes)ÚEccKeyÚ    constructÚ_import_curve25519_public_keyÚ_import_curve448_public_keycó’—|j|jz}|j«r td«‚|jdk(r(t |j jdd¬««}|S|jdk(r(t |j jdd¬««}|St|j |j««}|S)NzInvalid ECDH pointÚ
Curve25519é Úlittle)Ú    byteorderÚCurve448é8)
ÚpointQÚdÚis_point_at_infinityÚ
ValueErrorÚcurveÚ    bytearrayÚxÚto_bytesrÚ size_in_bytes)Úkey_privÚkey_pubÚpointPÚzs    õeH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/Protocol/DH.pyÚ _compute_ecdhrs°€Ø ^‰^˜hŸj™jÑ (€FØ ×"Ñ"Ô$ÜÐ.Ó/Р   /à‡~~˜Ò%Ü f—h‘h×'Ñ'¨°hÐ'Ó?Ó @ˆð €Hð
‰˜:Ò    %Ü f—h‘h×'Ñ'¨°hÐ'Ó?Ó @ˆð €Hô ˜&Ÿ(™( F×$8Ñ$8Ó$:Ó ;ˆØ €Hócó2—t|«}td|¬«S)a€Create a new X25519 public key object,
    starting from the key encoded as raw ``bytes``,
    in the format described in RFC7748.
 
    Args:
      encoded (bytes):
        The x25519 public key to import.
        It must be 32 bytes.
 
    Returns:
      :class:`Crypto.PublicKey.EccKey` : a new ECC key object.
 
    Raises:
      ValueError: when the given key cannot be parsed.
    r    ©rÚpoint_x)rr©Úencodedrs  rÚimport_x25519_public_keyr$s€ô"    & gÓ.€AÜ ˜<°Ô 3Ð3rcó—t|d¬«S)a‚Create a new X25519 private key object,
    starting from the key encoded as raw ``bytes``,
    in the format described in RFC7748.
 
    Args:
      encoded (bytes):
        The X25519 private key to import.
        It must be 32 bytes.
 
    Returns:
      :class:`Crypto.PublicKey.EccKey` : a new ECC key object.
 
    Raises:
      ValueError: when the given key cannot be parsed.
    r    ©Úseedr©r©r#s rÚimport_x25519_private_keyr*,s€ô" ˜'¨Ô 6Ð6rcó2—t|«}td|¬«S)a|Create a new X448 public key object,
    starting from the key encoded as raw ``bytes``,
    in the format described in RFC7748.
 
    Args:
      encoded (bytes):
        The x448 public key to import.
        It must be 56 bytes.
 
    Returns:
      :class:`Crypto.PublicKey.EccKey` : a new ECC key object.
 
    Raises:
      ValueError: when the given key cannot be parsed.
    r r )rrr"s  rÚimport_x448_public_keyr,@s€ô"    $ GÓ,€AÜ ˜:¨qÔ 1Ð1rcó—t|d¬«S)a~Create a new X448 private key object,
    starting from the key encoded as raw ``bytes``,
    in the format described in RFC7748.
 
    Args:
      encoded (bytes):
        The X448 private key to import.
        It must be 56 bytes.
 
    Returns:
      :class:`Crypto.PublicKey.EccKey` : a new ECC key object.
 
    Raises:
      ValueError: when the given key cannot be parsed.
    r r&r(r)s rÚimport_x448_private_keyr.Us€ô" ˜'¨Ô 4Ð4rc ó–—|jdd«}|jdd«}|jdd«}|jdd«}|jdd«}|€ td«‚d}d}d}d    „}    ||    ||dd
«}|d z }||    ||dd «}|d z }||    ||dd
«}|d z }||    ||dd «}|d z }||zd ks
|dk(s|dk(r td«‚d}
d} |r|r t||«}
|r1|r/t|«t|«k7r td«‚t||«} n!|r|r t||«} n|r|r t||«} | |
z} || «S)aÌPerform a Diffie-Hellman key agreement.
 
    Keywords:
      kdf (callable):
        A key derivation function that accepts ``bytes`` as input and returns
        ``bytes``.
      static_priv (EccKey):
        The local static private key. Optional.
      static_pub (EccKey):
        The static public key that belongs to the peer. Optional.
      eph_priv (EccKey):
        The local ephemeral private key, generated for this session. Optional.
      eph_pub (EccKey):
        The ephemeral public key, received from the peer for this session. Optional.
 
    At least two keys must be passed, of which one is a private key and one
    a public key.
 
    Returns (bytes):
      The derived secret key material.
    Ú static_privNÚ
static_pubÚeph_privÚeph_pubÚkdfz'kdf' is mandatoryrcóܗt|t«std|z«‚|r|j«std|z«‚|€|j}|S||jk7rtd|z«‚|S)Nz'%s' must be an ECC keyz'%s' must be a private ECC keyz('%s' is defined on an incompatible curve)Ú
isinstancerÚ    TypeErrorÚ has_privater)rÚkeyÚnameÚprivates    rÚ check_curvez"key_agreement.<locals>.check_curvess€Ü˜#œvÔ&ÜÐ5¸Ñ<Ó=Ð =Ù ˜3Ÿ?™?Ô,ÜÐ<¸tÑCÓDÐ DØ ˆ=Ø—I‘IˆEðˆ ðc—i‘iÒ ÜÐFÈÑMÓNÐ N؈ rTéFéz'Too few keys for the ECDH key agreementrz"DH mode C(2e, 1s) is not supported)ÚgetrrÚbool) Úkwargsr0r1r2r3r4Ú
count_privÚ    count_pubrr<ÚZsÚZeÚZs              rÚ key_agreementrGisš€ð.—*‘*˜]¨DÓ1€KØ—‘˜L¨$Ó/€J؏z‰z˜* dÓ+€H؏j‰j˜ DÓ)€GØ
*‰*U˜DÓ
!€Cà
€{ÜÐ-Ó.Ð.à€JØ€IØ €Eò    ðÐÙ˜E ;° ¸tÓDˆØa‰ˆ
àÐÙ˜E :¨|¸UÓCˆØQ‰ˆ    àÐÙ˜E 8¨Z¸Ó>ˆØa‰ˆ
àÐÙ˜E 7¨I°uÓ=ˆØQ‰ˆ    àYÑ !Ò# z°Q¢¸)Àqº.ÜÐBÓCÐCà     €BØ     €Bá‘zä ˜;¨
Ó 3ˆá‘Gä  Ó ¤ ZÓ 0Ò 0ÜÐAÓBÐ BÜ ˜8 WÓ -‰Ù    ‘jä ˜8 ZÓ 0‰Ù    ‘[ä ˜;¨Ó 0ˆà
ˆR‰€Aá ˆq‹6€MrN) ÚCrypto.Util.numberrÚCrypto.PublicKey.ECCrrrrrr$r*r,r.rG©rrú<module>rKs1ðÝ,÷?ó?ò  ò4ò*7ò(2ò*5ó(Wr