File manager - Edit - /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/dh.cpython-310.pyc
Back
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 >