
    .Ph=                       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                    ej        j                    G d d	ej                  ZeZe                    ej        j                    G d
 dej                  ZeZe                    ej        j                   dS )    )annotationsN)openssl)_serializationc                  t    e Zd Zej        dd            Zej        dd	            Zej        dd            ZdS )DHParametersreturnDHPrivateKeyc                    dS )z7
        Generates and returns a DHPrivateKey.
        N selfs    l/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/cryptography/hazmat/primitives/asymmetric/dh.pygenerate_private_keyz!DHParameters.generate_private_key             encoding_serialization.Encodingformat_serialization.ParameterFormatbytesc                    dS )z=
        Returns the parameters serialized as bytes.
        Nr   r   r   r   s      r   parameter_byteszDHParameters.parameter_bytes   r   r   DHParameterNumbersc                    dS )z/
        Returns a DHParameterNumbers.
        Nr   r   s    r   parameter_numberszDHParameters.parameter_numbers%   r   r   Nr   r	   )r   r   r   r   r   r   )r   r   )__name__
__module____qualname__abcabstractmethodr   r   r   r   r   r   r   r      s~           
 	    	     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dS )DHPublicKeyr   intc                    dS z6
        The bit length of the prime modulus.
        Nr   r   s    r   key_sizezDHPublicKey.key_size1   r   r   r   c                    dS )zJ
        The DHParameters object associated with this public key.
        Nr   r   s    r   
parameterszDHPublicKey.parameters8   r   r   DHPublicNumbersc                    dS )z,
        Returns a DHPublicNumbers.
        Nr   r   s    r   public_numberszDHPublicKey.public_numbers>   r   r   r   r   r   _serialization.PublicFormatr   c                    dS z6
        Returns the key serialized as bytes.
        Nr   r   s      r   public_byteszDHPublicKey.public_bytesD   r   r   otherobjectboolc                    dS )z"
        Checks equality.
        Nr   )r   r3   s     r   __eq__zDHPublicKey.__eq__N   r   r   c                    dS z!
        Returns a copy.
        Nr   r   s    r   __copy__zDHPublicKey.__copy__T   r   r   Nr   r&   r   r   )r   r,   )r   r   r   r/   r   r   )r3   r4   r   r5   r   r%   )r   r   r    propertyr!   r"   r)   r+   r.   r2   r7   r:   r   r   r   r%   r%   0   s            X
 	   
 	   
 	    	   
 	     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ej        dd            ZdS )r	   r   r&   c                    dS r(   r   r   s    r   r)   zDHPrivateKey.key_size`   r   r   r%   c                    dS )zC
        The DHPublicKey associated with this private key.
        Nr   r   s    r   
public_keyzDHPrivateKey.public_keyg   r   r   r   c                    dS )zK
        The DHParameters object associated with this private key.
        Nr   r   s    r   r+   zDHPrivateKey.parametersm   r   r   peer_public_keyr   c                    dS )zn
        Given peer's DHPublicKey, carry out the key exchange and
        return shared key as bytes.
        Nr   )r   rD   s     r   exchangezDHPrivateKey.exchanges   r   r   DHPrivateNumbersc                    dS )z-
        Returns a DHPrivateNumbers.
        Nr   r   s    r   private_numberszDHPrivateKey.private_numbersz   r   r   r   r   r   _serialization.PrivateFormatencryption_algorithm)_serialization.KeySerializationEncryptionc                    dS r1   r   )r   r   r   rK   s       r   private_byteszDHPrivateKey.private_bytes   r   r   c                    dS r9   r   r   s    r   r:   zDHPrivateKey.__copy__   r   r   Nr;   r=   r<   )rD   r%   r   r   )r   rG   )r   r   r   rJ   rK   rL   r   r   r   )r   r   r    r>   r!   r"   r)   rB   r+   rF   rI   rN   r:   r   r   r   r	   r	   _   s           X
 	   
 	   
 	    	   
 	    	     r   r	   )
__future__r   r!   "cryptography.hazmat.bindings._rustr   rust_opensslcryptography.hazmat.primitivesr   dhgenerate_parametersrG   r,   r   ABCMetar   DHParametersWithSerializationregisterr%   DHPublicKeyWithSerializationr	   DHPrivateKeyWithSerializationr   r   r   <module>r[      sq  
 # " " " " " 



 F F F F F F 9 9 9 9 9 9"o9   ?3 /1!_7     S[    0 !-    lo2 3 3 3( ( ( ( (CK ( ( ( (V  +    \_0 1 1 10 0 0 0 0S[ 0 0 0 0f !-    lo2 3 3 3 3 3r   