PHP WebShell
Текущая директория: /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__pycache__
Просмотр файла: dh.cpython-310.pyc
o
�)%a� � @ s� d dl Z d dlZd dlmZ d dlmZ d dlmZ dZdddd �Z G d
d� de
�ZG dd
� d
e
�ZG dd� de
�Z
G dd� de jd�ZeZG dd� de jd�ZeZG dd� de jd�ZeZdS )� N)�utils)�_get_backend)�
serializationi �return�DHParametersc C s t |�}|�| |�S �N)r �generate_dh_parameters)� generator�key_size�backend� r �N/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/dh.py�generate_parameters s r c @ sb e Zd Zddededeje fdd�Zdd� Zd d
� Zddd�Z e
�d
�Ze
�d�Z
e
�d�ZdS )�DHParameterNumbersN�p�g�qc C sv t |t�r
t |t�std��|d urt |t�std��|dk r#td��|�� tk r0td�t���|| _|| _|| _ d S )Nzp and g must be integerszq must be integer or None� z!DH generator must be 2 or greaterz#p (modulus) must be at least {}-bit)
�
isinstance�int� TypeError�
ValueError�
bit_length�_MIN_MODULUS_SIZE�format�_p�_g�_q)�selfr r r r r r
�__init__ s �
zDHParameterNumbers.__init__c C s2 t |t�stS | j|jko| j|jko| j|jkS r )r r �NotImplementedr r r �r �otherr r r
�__eq__) s
"�zDHParameterNumbers.__eq__c C �
| |k S r r r! r r r
�__ne__1 �
zDHParameterNumbers.__ne__c C � t |�}|�| �S r )r �load_dh_parameter_numbers�r r r r r
�
parameters4 �
zDHParameterNumbers.parametersr r r r )�__name__�
__module__�__qualname__r �typing�Optionalr r# r% r* r �read_only_propertyr r r r r r r
r s
r c @ �J e Zd Zdefdd�Zdd� Zdd� Zdddd�Ze� d
�Z
e� d�ZdS )�DHPublicNumbers�parameter_numbersc C �4 t |t�s td��t |t�std��|| _|| _d S )Nzy must be an integer.z5parameters must be an instance of DHParameterNumbers.)r r r r �_y�_parameter_numbers)r �yr4 r r r
r >