
    2iH                    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    b/var/www/html/qr/venv/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
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   c                     yz!
        Returns a copy.
        Nr	   r
   s    r   __copy__zDHPublicKey.__copy__T   r   r   c                     yz&
        Returns a deep copy.
        Nr	   r   memos     r   __deepcopy__zDHPublicKey.__deepcopy__Z   r   r   Nr   intr   r   )r   DHPublicNumbers)r   r   r   z_serialization.PublicFormatr   r   )r0   objectr   boolr   r$   )r8   dictr   r$   )r   r   r   propertyr    r!   r'   r)   r+   r.   r1   r4   r9   r	   r   r   r$   r$   0   s      
 	 
 	 
 	) , 
	  	 
 	 
 	 r   r$   c                  V   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ej
                  dd       Zej
                  dd       Zy	)r   c                     yr&   r	   r
   s    r   r'   zDHPrivateKey.key_sizef   r   r   c                     y)zC
        The DHPublicKey associated with this private key.
        Nr	   r
   s    r   
public_keyzDHPrivateKey.public_keym   r   r   c                     y)zK
        The DHParameters object associated with this private key.
        Nr	   r
   s    r   r)   zDHPrivateKey.parameterss   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.exchangey   r   r   c                     y)z-
        Returns a DHPrivateNumbers.
        Nr	   r
   s    r   private_numberszDHPrivateKey.private_numbers   r   r   c                     yr-   r	   )r   r   r   encryption_algorithms       r   private_byteszDHPrivateKey.private_bytes   r   r   c                     yr3   r	   r
   s    r   r4   zDHPrivateKey.__copy__   r   r   c                     yr6   r	   r7   s     r   r9   zDHPrivateKey.__deepcopy__   r   r   Nr:   r@   r<   )rI   r$   r   r   )r   DHPrivateNumbers)r   r   r   z_serialization.PrivateFormatrN   z)_serialization.KeySerializationEncryptionr   r   r   )r8   rA   r   r   )r   r   r   rB   r    r!   r'   rF   r)   rJ   rL   rO   r4   r9   r	   r   r   r   r   e   s      
 	 
 	 
 	  	 
 	) - H	
 
  	 
 	 r   r   )
__future__r   r    "cryptography.hazmat.bindings._rustr   rust_opensslcryptography.hazmat.primitivesr   dhgenerate_parametersrR   r=   r   ABCMetar   DHParametersWithSerializationregisterr$   DHPublicKeyWithSerializationr   DHPrivateKeyWithSerializationr	   r   r   <module>r^      s   
 # 
 F 9"oo99   ??33 //11!__77 S[[ 0 !-    loo22 3.CKK .b  +    \__00 16S[[ 6r !-    loo22 3r   