
    Wwg\                    N   d dl mZ d dlZd dlmZ d dlmZ ej                  j                  Z	ej                  j                  Z
ej                  j                  Zej                  j                  Z G d dej                        ZeZej!                  ej                  j                          G d d	ej                        ZeZej!                  ej                  j"                          G d
 dej                        ZeZej!                  ej                  j&                         y)    )annotationsN)openssl)_serializationc                      e Zd Zej                  dd       Zej                  	 	 	 	 	 	 dd       Zej                  dd       Zy)DHParametersc                     y)z7
        Generates and returns a DHPrivateKey.
        N selfs    c/var/www/horilla/myenv/lib/python3.12/site-packages/cryptography/hazmat/primitives/asymmetric/dh.pygenerate_private_keyz!DHParameters.generate_private_key           c                     y)z=
        Returns the parameters serialized as bytes.
        Nr	   r   encodingformats      r   parameter_byteszDHParameters.parameter_bytes   r   r   c                     y)z/
        Returns a DHParameterNumbers.
        Nr	   r
   s    r   parameter_numberszDHParameters.parameter_numbers%   r   r   N)returnDHPrivateKey)r   _serialization.Encodingr   z_serialization.ParameterFormatr   bytes)r   DHParameterNumbers)__name__
__module____qualname__abcabstractmethodr   r   r   r	   r   r   r   r      sj     
 	) / 
	  	 r   r   )	metaclassc                      e Zd Zeej
                  dd              Zej
                  dd       Zej
                  d	d       Zej
                  	 	 	 	 	 	 d
d       Z	ej
                  dd       Z
y)DHPublicKeyc                     yz6
        The bit length of the prime modulus.
        Nr	   r
   s    r   key_sizezDHPublicKey.key_size1   r   r   c                     y)zJ
        The DHParameters object associated with this public key.
        Nr	   r
   s    r   
parameterszDHPublicKey.parameters8   r   r   c                     y)z,
        Returns a DHPublicNumbers.
        Nr	   r
   s    r   public_numberszDHPublicKey.public_numbers>   r   r   c                     yz6
        Returns the key serialized as bytes.
        Nr	   r   s      r   public_byteszDHPublicKey.public_bytesD   r   r   c                     y)z"
        Checks equality.
        Nr	   )r   others     r   __eq__zDHPublicKey.__eq__N   r   r   Nr   intr   r   )r   DHPublicNumbers)r   r   r   z_serialization.PublicFormatr   r   )r/   objectr   bool)r   r   r   propertyr   r    r&   r(   r*   r-   r0   r	   r   r   r#   r#   0   s      
 	 
 	 
 	) , 
	  	 r   r#   c                  
   e Zd Zeej
                  dd              Zej
                  d	d       Zej
                  d
d       Zej
                  dd       Z	ej
                  dd       Z
ej
                  	 	 	 	 	 	 	 	 dd       Zy)r   c                     yr%   r	   r
   s    r   r&   zDHPrivateKey.key_sizeZ   r   r   c                     y)zC
        The DHPublicKey associated with this private key.
        Nr	   r
   s    r   
public_keyzDHPrivateKey.public_keya   r   r   c                     y)zK
        The DHParameters object associated with this private key.
        Nr	   r
   s    r   r(   zDHPrivateKey.parametersg   r   r   c                     y)zn
        Given peer's DHPublicKey, carry out the key exchange and
        return shared key as bytes.
        Nr	   )r   peer_public_keys     r   exchangezDHPrivateKey.exchangem   r   r   c                     y)z-
        Returns a DHPrivateNumbers.
        Nr	   r
   s    r   private_numberszDHPrivateKey.private_numberst   r   r   c                     yr,   r	   )r   r   r   encryption_algorithms       r   private_byteszDHPrivateKey.private_bytesz   r   r   Nr1   )r   r#   r3   )r>   r#   r   r   )r   DHPrivateNumbers)r   r   r   z_serialization.PrivateFormatrC   z)_serialization.KeySerializationEncryptionr   r   )r   r   r   r7   r   r    r&   r;   r(   r?   rA   rD   r	   r   r   r   r   Y   s      
 	 
 	 
 	  	 
 	) - H	
 
 r   r   )
__future__r   r   "cryptography.hazmat.bindings._rustr   rust_opensslcryptography.hazmat.primitivesr   dhgenerate_parametersrE   r4   r   ABCMetar   DHParametersWithSerializationregisterr#   DHPublicKeyWithSerializationr   DHPrivateKeyWithSerializationr	   r   r   <module>rQ      s   
 # 
 F 9"oo99   ??33 //11!__77 S[[ 0 !-    loo22 3"CKK "J  +    \__00 1*S[[ *Z !-    loo22 3r   