B
    uf\                 @  s   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 dejdZeZeejj G dd	 d	ejdZeZeejj G d
d dejdZeZeejj dS )    )annotationsN)openssl)_serializationc               @  sL   e Zd ZejddddZejddddd	d
ZejddddZdS )DHParametersDHPrivateKey)returnc             C  s   dS )z7
        Generates and returns a DHPrivateKey.
        N )selfr   r   n/home/ankuromar296_gmail_com/myenv/lib/python3.7/site-packages/cryptography/hazmat/primitives/asymmetric/dh.pygenerate_private_key   s    z!DHParameters.generate_private_keyz_serialization.Encodingz_serialization.ParameterFormatbytes)encodingformatr   c             C  s   dS )z=
        Returns the parameters serialized as bytes.
        Nr   )r	   r   r   r   r   r
   parameter_bytes   s    zDHParameters.parameter_bytesDHParameterNumbersc             C  s   dS )z/
        Returns a DHParameterNumbers.
        Nr   )r	   r   r   r
   parameter_numbers%   s    zDHParameters.parameter_numbersN)__name__
__module____qualname__abcabstractmethodr   r   r   r   r   r   r
   r      s   
r   )	metaclassc               @  sz   e Zd ZeejddddZejddddZejddd	d
ZejddddddZ	ejdddddZ
dS )DHPublicKeyint)r   c             C  s   dS )z6
        The bit length of the prime modulus.
        Nr   )r	   r   r   r
   key_size1   s    zDHPublicKey.key_sizer   c             C  s   dS )zJ
        The DHParameters object associated with this public key.
        Nr   )r	   r   r   r
   
parameters8   s    zDHPublicKey.parametersDHPublicNumbersc             C  s   dS )z,
        Returns a DHPublicNumbers.
        Nr   )r	   r   r   r
   public_numbers>   s    zDHPublicKey.public_numbersz_serialization.Encodingz_serialization.PublicFormatr   )r   r   r   c             C  s   dS )z6
        Returns the key serialized as bytes.
        Nr   )r	   r   r   r   r   r
   public_bytesD   s    zDHPublicKey.public_bytesobjectbool)otherr   c             C  s   dS )z"
        Checks equality.
        Nr   )r	   r!   r   r   r
   __eq__N   s    zDHPublicKey.__eq__N)r   r   r   propertyr   r   r   r   r   r   r"   r   r   r   r
   r   0   s   
r   c               @  s   e Zd ZeejddddZejddddZejddd	d
ZejdddddZ	ejddddZ
ejdddddddZdS )r   r   )r   c             C  s   dS )z6
        The bit length of the prime modulus.
        Nr   )r	   r   r   r
   r   Z   s    zDHPrivateKey.key_sizer   c             C  s   dS )zC
        The DHPublicKey associated with this private key.
        Nr   )r	   r   r   r
   
public_keya   s    zDHPrivateKey.public_keyr   c             C  s   dS )zK
        The DHParameters object associated with this private key.
        Nr   )r	   r   r   r
   r   g   s    zDHPrivateKey.parametersr   )peer_public_keyr   c             C  s   dS )zn
        Given peer's DHPublicKey, carry out the key exchange and
        return shared key as bytes.
        Nr   )r	   r%   r   r   r
   exchangem   s    zDHPrivateKey.exchangeDHPrivateNumbersc             C  s   dS )z-
        Returns a DHPrivateNumbers.
        Nr   )r	   r   r   r
   private_numberst   s    zDHPrivateKey.private_numbersz_serialization.Encodingz_serialization.PrivateFormatz)_serialization.KeySerializationEncryption)r   r   encryption_algorithmr   c             C  s   dS )z6
        Returns the key serialized as bytes.
        Nr   )r	   r   r   r)   r   r   r
   private_bytesz   s    	zDHPrivateKey.private_bytesN)r   r   r   r#   r   r   r   r$   r   r&   r(   r*   r   r   r   r
   r   Y   s   r   )
__future__r   r   Z"cryptography.hazmat.bindings._rustr   Zrust_opensslZcryptography.hazmat.primitivesr   ZdhZgenerate_parametersr'   r   r   ABCMetar   ZDHParametersWithSerializationregisterr   ZDHPublicKeyWithSerializationr   ZDHPrivateKeyWithSerializationr   r   r   r
   <module>   s    %-