o
    "“i=  ã                   @  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	   úl/var/www/html/premium_crap/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                   @  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 ) Ú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__c                 C  r   ©z!
        Returns a copy.
        Nr	   r
   r	   r	   r   Ú__copy__T   r   zDHPublicKey.__copy__N©r   r    ©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   r   0   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dS )$r   r   r    c                 C  r   r!   r	   r
   r	   r	   r   r"   `   r   zDHPrivateKey.key_sizer   c                 C  r   )zC
        The DHPublicKey associated with this private key.
        Nr	   r
   r	   r	   r   Ú
public_keyg   r   zDHPrivateKey.public_keyr   c                 C  r   )zK
        The DHParameters object associated with this private key.
        Nr	   r
   r	   r	   r   r#   m   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   r4   r	   r	   r   Úexchanges   r   zDHPrivateKey.exchangeÚDHPrivateNumbersc                 C  r   )z-
        Returns a DHPrivateNumbers.
        Nr	   r
   r	   r	   r   Úprivate_numbersz   r   zDHPrivateKey.private_numbersr   r   r   ú_serialization.PrivateFormatÚencryption_algorithmú)_serialization.KeySerializationEncryptionc                 C  r   r'   r	   )r   r   r   r9   r	   r	   r   Úprivate_bytes€   r   zDHPrivateKey.private_bytesc                 C  r   r-   r	   r
   r	   r	   r   r.   ‹   r   zDHPrivateKey.__copy__Nr/   r1   r0   )r4   r   r   r   )r   r6   )r   r   r   r8   r9   r:   r   r   r   )r   r   r   r2   r   r   r"   r3   r#   r5   r7   r;   r.   r	   r	   r	   r   r   _   s     
r   )Ú
__future__r   r   Ú"cryptography.hazmat.bindings._rustr   Úrust_opensslÚcryptography.hazmat.primitivesr   ÚdhÚgenerate_parametersr6   r$   r   ÚABCMetar   ÚDHParametersWithSerializationÚregisterr   ÚDHPublicKeyWithSerializationr   ÚDHPrivateKeyWithSerializationr	   r	   r	   r   Ú<module>   s"   +3