HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/dh.cpython-38.pyc
U

�e�]N�@s�ddlmZmZmZddlZddlZddlmZdd�ZGdd�de	�Z
Gdd	�d	e	�ZGd
d�de	�Ze�
ej�Gdd
�d
e	��ZeZe�
ej�Gdd�de	��Ze�
ej�Gdd�de��Ze�
ej�Gdd�de	��ZeZdS)�)�absolute_import�division�print_functionN)�utilscCs|�||�S�N)Zgenerate_dh_parameters)�	generator�key_size�backend�r
�N/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py�generate_parameterssrc@s@eZdZdd�Zdd�Zdd�Zdd�Ze�d	�Z	e�d
�Z
dS)�DHPrivateNumberscCs6t|tj�std��t|t�s&td��||_||_dS)Nzx must be an integer.z6public_numbers must be an instance of DHPublicNumbers.)�
isinstance�six�
integer_types�	TypeError�DHPublicNumbers�_x�_public_numbers)�self�x�public_numbersr
r
r�__init__s
zDHPrivateNumbers.__init__cCs&t|t�stS|j|jko$|j|jkSr)rr
�NotImplementedrr�r�otherr
r
r�__eq__s


�zDHPrivateNumbers.__eq__cCs
||kSrr
rr
r
r�__ne__'szDHPrivateNumbers.__ne__cCs
|�|�Sr)Zload_dh_private_numbers�rr	r
r
r�private_key*szDHPrivateNumbers.private_keyrrN)�__name__�
__module__�__qualname__rrrrr�read_only_propertyrrr
r
r
rr
s	
r
c@s@eZdZdd�Zdd�Zdd�Zdd�Ze�d	�Z	e�d
�Z
dS)rcCs6t|tj�std��t|t�s&td��||_||_dS)Nzy must be an integer.z5parameters must be an instance of DHParameterNumbers.)rrrr�DHParameterNumbers�_y�_parameter_numbers)r�y�parameter_numbersr
r
rr2s
�zDHPublicNumbers.__init__cCs&t|t�stS|j|jko$|j|jkSr)rrrr%r&rr
r
rr=s


�zDHPublicNumbers.__eq__cCs
||kSrr
rr
r
rrFszDHPublicNumbers.__ne__cCs
|�|�Sr)Zload_dh_public_numbersrr
r
r�
public_keyIszDHPublicNumbers.public_keyr%r&N)r r!r"rrrr)rr#r'r(r
r
r
rr1s	
rc@sLeZdZd
dd�Zdd�Zdd�Zdd	�Ze�d
�Z	e�d�Z
e�d�ZdS)r$NcCsbt|tj�rt|tj�s td��|dk	r<t|tj�s<td��|dkrLtd��||_||_||_dS)Nzp and g must be integerszq must be integer or None�z!DH generator must be 2 or greater)rrrr�
ValueError�_p�_g�_q)r�p�g�qr
r
rrQs
�
�zDHParameterNumbers.__init__cCs2t|t�stS|j|jko0|j|jko0|j|jkSr)rr$rr,r-r.rr
r
rras

�
�zDHParameterNumbers.__eq__cCs
||kSrr
rr
r
rrkszDHParameterNumbers.__ne__cCs
|�|�Sr)Zload_dh_parameter_numbersrr
r
r�
parametersnszDHParameterNumbers.parametersr,r-r.)N)r r!r"rrrr2rr#r/r0r1r
r
r
rr$Ps



r$c@s6eZdZejdd��Zejdd��Zejdd��ZdS)�DHParameterscCsdS)z7
        Generates and returns a DHPrivateKey.
        Nr
�rr
r
r�generate_private_keyxsz!DHParameters.generate_private_keycCsdS)z=
        Returns the parameters serialized as bytes.
        Nr
�r�encoding�formatr
r
r�parameter_bytes~szDHParameters.parameter_bytescCsdS)z/
        Returns a DHParameterNumbers.
        Nr
r4r
r
rr(�szDHParameters.parameter_numbersN)r r!r"�abc�abstractmethodr5r9r(r
r
r
rr3vs

r3c@sDeZdZejdd��Zejdd��Zejdd��Zejdd��Z	d	S)
�DHPrivateKeycCsdS�z6
        The bit length of the prime modulus.
        Nr
r4r
r
rr�szDHPrivateKey.key_sizecCsdS)zC
        The DHPublicKey associated with this private key.
        Nr
r4r
r
rr)�szDHPrivateKey.public_keycCsdS)zK
        The DHParameters object associated with this private key.
        Nr
r4r
r
rr2�szDHPrivateKey.parameterscCsdS)zn
        Given peer's DHPublicKey, carry out the key exchange and
        return shared key as bytes.
        Nr
)rZpeer_public_keyr
r
r�exchange�szDHPrivateKey.exchangeN)
r r!r"r:�abstractpropertyrr;r)r2r>r
r
r
rr<�s


r<c@s(eZdZejdd��Zejdd��ZdS)�DHPrivateKeyWithSerializationcCsdS)z-
        Returns a DHPrivateNumbers.
        Nr
r4r
r
r�private_numbers�sz-DHPrivateKeyWithSerialization.private_numberscCsdS�z6
        Returns the key serialized as bytes.
        Nr
)rr7r8Zencryption_algorithmr
r
r�
private_bytes�sz+DHPrivateKeyWithSerialization.private_bytesN)r r!r"r:r;rArCr
r
r
rr@�s
r@c@sDeZdZejdd��Zejdd��Zejdd��Zejdd��Z	d	S)
�DHPublicKeycCsdSr=r
r4r
r
rr�szDHPublicKey.key_sizecCsdS)zJ
        The DHParameters object associated with this public key.
        Nr
r4r
r
rr2�szDHPublicKey.parameterscCsdS)z,
        Returns a DHPublicNumbers.
        Nr
r4r
r
rr�szDHPublicKey.public_numberscCsdSrBr
r6r
r
r�public_bytes�szDHPublicKey.public_bytesN)
r r!r"r:r?rr;r2rrEr
r
r
rrD�s


rD)Z
__future__rrrr:rZcryptographyrr�objectr
rr$Z
add_metaclass�ABCMetar3ZDHParametersWithSerializationr<r@rDZDHPublicKeyWithSerializationr
r
r
r�<module>s"&