a
a @ s d dl Z d dlZd dlmZ dZdeeejddddZG dd d eZ G d
d deZ
G dd
d
eZG dd de jdZ
e
ZG dd de jdZeZG dd de jdZeZdS ) N)
serializationi DHParameters) generatorkey_sizebackendreturnc C s ddl m} || |S Nr )r ),cryptography.hazmat.backends.openssl.backendr Zgenerate_dh_parameters)r r r ossl r R/usr/lib64/python3.9/site-packages/cryptography/hazmat/primitives/asymmetric/dh.pygenerate_parameters s r
c @ sp e Zd Zdeeeje ddddZdd Zdd Zdej d d
ddZ
ed
d Zedd Z
edd ZdS )DHParameterNumbersN)pgqr c C sv t |trt |tstd|d ur6t |ts6td|dk rFtd| tk r`tdt|| _|| _|| _ 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)
isinstanceint TypeError
ValueError
bit_length_MIN_MODULUS_SIZEformat_p_g_q)selfr r r r r r __init__ s zDHParameterNumbers.__init__c C s2 t |tstS | j|jko0| j|jko0| j|jkS N)r r NotImplementedr r r r otherr r r __eq__* s
"zDHParameterNumbers.__eq__c C s
| |k S r r r! r r r __ne__2 s zDHParameterNumbers.__ne__r r r c C s ddl m} || S r )r r Zload_dh_parameter_numbersr r r
r r r
parameters5 s zDHParameterNumbers.parametersc C s | j S r )r r r r r