o
    ÖèFh\  ã                   @  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                   @  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	   úe/var/www/html/loop/nvenv/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
dS )ÚDHPublicKeyr   Úintc                 C  r   ©z6
        The bit length of the prime modulus.
        Nr	   r
   r	   r	   r   Úkey_size1   r   zDHPublicKey.key_sizer   c                 C  r   )zJ
        The DHParameters object associated with this public key.
        Nr	   r
   r	   r	   r   Ú
parameters8   r   zDHPublicKey.parametersÚDHPublicNumbersc                 C  r   )z,
        Returns a DHPublicNumbers.
        Nr	   r
   r	   r	   r   Úpublic_numbers>   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_bytesD   r   zDHPublicKey.public_bytesÚotherÚobjectÚboolc                 C  r   )z"
        Checks equality.
        Nr	   )r   r(   r	   r	   r   Ú__eq__N   r   zDHPublicKey.__eq__N©r   r   ©r   r   )r   r#   )r   r   r   r%   r   r   )r(   r)   r   r*   )r   r   r   Úpropertyr   r   r!   r"   r$   r'   r+   r	   r	   r	   r   r   0   s    	r   c                   @  sp   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dS )!r   r   r   c                 C  r   r    r	   r
   r	   r	   r   r!   Z   r   zDHPrivateKey.key_sizer   c                 C  r   )zC
        The DHPublicKey associated with this private key.
        Nr	   r
   r	   r	   r   Ú
public_keya   r   zDHPrivateKey.public_keyr   c                 C  r   )zK
        The DHParameters object associated with this private key.
        Nr	   r
   r	   r	   r   r"   g   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   r0   r	   r	   r   Úexchangem   r   zDHPrivateKey.exchangeÚDHPrivateNumbersc                 C  r   )z-
        Returns a DHPrivateNumbers.
        Nr	   r
   r	   r	   r   Úprivate_numberst   r   zDHPrivateKey.private_numbersr   r   r   ú_serialization.PrivateFormatÚencryption_algorithmú)_serialization.KeySerializationEncryptionc                 C  r   r&   r	   )r   r   r   r5   r	   r	   r   Úprivate_bytesz   r   zDHPrivateKey.private_bytesNr,   )r   r   r-   )r0   r   r   r   )r   r2   )r   r   r   r4   r5   r6   r   r   )r   r   r   r.   r   r   r!   r/   r"   r1   r3   r7   r	   r	   r	   r   r   Y   s    r   )Ú
__future__r   r   Ú"cryptography.hazmat.bindings._rustr   Úrust_opensslÚcryptography.hazmat.primitivesr   ÚdhÚgenerate_parametersr2   r#   r   ÚABCMetar   ÚDHParametersWithSerializationÚregisterr   ÚDHPublicKeyWithSerializationr   ÚDHPrivateKeyWithSerializationr	   r	   r	   r   Ú<module>   s"   %-