
    @wj                       d dl mZ d dlZd dlmZ d dlmZ d dlm	Z	 d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,                         eZeZ ej4                  eee
ej8                  d        ej4                  eee
ej8                  d        ej4                  eee
ej8                  d        ej4                  eee
ej8                  d        ej4                  eee
ej8                  d        ej4                  eee
ej8                  d        ej4                  eee
ej8                  d        ej4                  eee
ej8                  d        ej4                  eee
ej8                  d        ej4                  eee
ej8                  d       y)    )annotationsN)utils)openssl)_serializationzDiffie-Hellman over finite fields (FFDH) is deprecated and support will be removed in a future release. Use a more modern key exchange algorithm.c                      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    j/root/dashboard-youtube/.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_size8   r   r   c                     y)zJ
        The DHParameters object associated with this public key.
        Nr
   r   s    r   
parameterszDHPublicKey.parameters?   r   r   c                     y)z,
        Returns a DHPublicNumbers.
        Nr
   r   s    r   public_numberszDHPublicKey.public_numbersE   r   r   c                     yz6
        Returns the key serialized as bytes.
        Nr
   r   s      r   public_byteszDHPublicKey.public_bytesK   r   r   c                     y)z"
        Checks equality.
        Nr
   )r   others     r   __eq__zDHPublicKey.__eq__U   r   r   c                     yz!
        Returns a copy.
        Nr
   r   s    r   __copy__zDHPublicKey.__copy__[   r   r   c                     yz&
        Returns a deep copy.
        Nr
   r   memos     r   __deepcopy__zDHPublicKey.__deepcopy__a   r   r   Nr   intr   r   )r   DHPublicNumbers)r   r   r   z_serialization.PublicFormatr   r   )r1   objectr   boolr   r%   )r9   dictr   r%   )r   r   r    propertyr!   r"   r(   r*   r,   r/   r2   r5   r:   r
   r   r   r%   r%   7   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_sizem   r   r   c                     y)zC
        The DHPublicKey associated with this private key.
        Nr
   r   s    r   
public_keyzDHPrivateKey.public_keyt   r   r   c                     y)zK
        The DHParameters object associated with this private key.
        Nr
   r   s    r   r*   zDHPrivateKey.parametersz   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.exchange   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r4   r
   r   s    r   r5   zDHPrivateKey.__copy__   r   r   c                     yr7   r
   r8   s     r   r:   zDHPrivateKey.__deepcopy__   r   r   Nr;   rA   r=   )rJ   r%   r   r   )r   DHPrivateNumbers)r   r   r   z_serialization.PrivateFormatrO   z)_serialization.KeySerializationEncryptionr   r   r   )r9   rB   r   r   )r   r   r    rC   r!   r"   r(   rG   r*   rK   rM   rP   r5   r:   r
   r   r   r   r   l   s      
 	 
 	 
 	  	 
 	) - H	
 
  	 
 	 r   r   generate_parameters)namerS   r>   r   DHParametersWithSerializationDHPublicKeyWithSerializationDHPrivateKeyWithSerialization)
__future__r   r!   cryptographyr   "cryptography.hazmat.bindings._rustr   rust_opensslcryptography.hazmat.primitivesr   _FFDH_DEPRECATION_MSGdhrT   rS   r>   r   ABCMetar   rV   registerr%   rW   r   rX   _DHPublicKey_DHPrivateKey
deprecatedr   DeprecatedIn50r
   r   r   <module>rf      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 3    		   		   		   		   		   		(   		   		'   		   		(r   