o
    pkj                     @  s  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 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 eZeZejeee
ejdd ejeee
ejdd ejeee
ejdd ejeee
ejdd ejeee
ejdd ejeee
ejdd ejeee
ejdd ejeee
ejdd ejeee
ejdd ejeee
ejdd dS )    )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                   @  s<   e Zd ZejdddZejdd
dZejdddZdS )DHParametersreturnDHPrivateKeyc                 C     dS )z7
        Generates and returns a DHPrivateKey.
        N selfr
   r
   j/home/djax/ivt_ai_plugin/venv/lib/python3.10/site-packages/cryptography/hazmat/primitives/asymmetric/dh.pygenerate_private_key       z!DHParameters.generate_private_keyencoding_serialization.Encodingformat_serialization.ParameterFormatbytesc                 C  r	   )z=
        Returns the parameters serialized as bytes.
        Nr
   r   r   r   r
   r
   r   parameter_bytes"   r   zDHParameters.parameter_bytesDHParameterNumbersc                 C  r	   )z/
        Returns a DHParameterNumbers.
        Nr
   r   r
   r
   r   parameter_numbers,   r   zDHParameters.parameter_numbersNr   r   )r   r   r   r   r   r   )r   r   )__name__
__module____qualname__abcabstractmethodr   r   r   r
   r
   r
   r   r      s    	r   )	metaclassc                   @  s   e Zd ZeejdddZejdddZejd d	d
Zejd!ddZ	ejd"ddZ
ejd#ddZejd$ddZdS )%DHPublicKeyr   intc                 C  r	   z6
        The bit length of the prime modulus.
        Nr
   r   r
   r
   r   key_size8   r   zDHPublicKey.key_sizer   c                 C  r	   )zJ
        The DHParameters object associated with this public key.
        Nr
   r   r
   r
   r   
parameters?   r   zDHPublicKey.parametersDHPublicNumbersc                 C  r	   )z,
        Returns a DHPublicNumbers.
        Nr
   r   r
   r
   r   public_numbersE   r   zDHPublicKey.public_numbersr   r   r   _serialization.PublicFormatr   c                 C  r	   z6
        Returns the key serialized as bytes.
        Nr
   r   r
   r
   r   public_bytesK   r   zDHPublicKey.public_bytesotherobjectboolc                 C  r	   )z"
        Checks equality.
        Nr
   )r   r*   r
   r
   r   __eq__U   r   zDHPublicKey.__eq__c                 C  r	   z!
        Returns a copy.
        Nr
   r   r
   r
   r   __copy__[   r   zDHPublicKey.__copy__memodictc                 C  r	   z&
        Returns a deep copy.
        Nr
   r   r0   r
   r
   r   __deepcopy__a   r   zDHPublicKey.__deepcopy__Nr   r!   r   r   )r   r%   )r   r   r   r'   r   r   )r*   r+   r   r,   r   r    )r0   r1   r   r    )r   r   r   propertyr   r   r#   r$   r&   r)   r-   r/   r4   r
   r
   r
   r   r    7   s     	r    c                   @  s   e Zd Zeejd!ddZejd"ddZejd#d	d
Zejd$ddZ	ejd%ddZ
ejd&ddZejd'ddZejd(ddZd S ))r   r   r!   c                 C  r	   r"   r
   r   r
   r
   r   r#   m   r   zDHPrivateKey.key_sizer    c                 C  r	   )zC
        The DHPublicKey associated with this private key.
        Nr
   r   r
   r
   r   
public_keyt   r   zDHPrivateKey.public_keyr   c                 C  r	   )zK
        The DHParameters object associated with this private key.
        Nr
   r   r
   r
   r   r$   z   r   zDHPrivateKey.parameterspeer_public_keyr   c                 C  r	   )zn
        Given peer's DHPublicKey, carry out the key exchange and
        return shared key as bytes.
        Nr
   )r   r:   r
   r
   r   exchange   r   zDHPrivateKey.exchangeDHPrivateNumbersc                 C  r	   )z-
        Returns a DHPrivateNumbers.
        Nr
   r   r
   r
   r   private_numbers   r   zDHPrivateKey.private_numbersr   r   r   _serialization.PrivateFormatencryption_algorithm)_serialization.KeySerializationEncryptionc                 C  r	   r(   r
   )r   r   r   r?   r
   r
   r   private_bytes   r   zDHPrivateKey.private_bytesc                 C  r	   r.   r
   r   r
   r
   r   r/      r   zDHPrivateKey.__copy__r0   r1   c                 C  r	   r2   r
   r3   r
   r
   r   r4      r   zDHPrivateKey.__deepcopy__Nr5   r7   r6   )r:   r    r   r   )r   r<   )r   r   r   r>   r?   r@   r   r   r   )r0   r1   r   r   )r   r   r   r8   r   r   r#   r9   r$   r;   r=   rA   r/   r4   r
   r
   r
   r   r   l   s$    
r   generate_parameters)namer<   r%   r   DHParametersWithSerializationDHPublicKeyWithSerializationDHPrivateKeyWithSerialization)
__future__r   r   cryptographyr   "cryptography.hazmat.bindings._rustr   rust_opensslcryptography.hazmat.primitivesr   _FFDH_DEPRECATION_MSGdhrB   r<   r%   r   ABCMetar   rD   registerr    rE   r   rF   _DHPublicKey_DHPrivateKey
deprecatedr   DeprecatedIn50r
   r
   r
   r   <module>   s   19
