3 lá˜_ÿ' ã @ s¸ d dl mZmZmZ d dlmZ d dlmZmZ d dl m Z d dlmZ dd„ Z dd „ ZejejƒG d d„ deƒƒZdd „ ZejejƒG dd„ deƒƒZejejƒG dd„ deƒƒZdS )é )Úabsolute_importÚdivisionÚprint_function)Úutils)ÚUnsupportedAlgorithmÚ_Reasons)Ú serialization)Údhc C sŒ |j }|j}|j| ƒ}|j||jkƒ |j||jƒ}|jrˆ|jdƒ}|j | |j||jƒ |j |d ƒ}|j||j||jƒ}|j|dkƒ |S )Nz BIGNUM **r é )Ú_libÚ_ffiZDHparams_dupÚopenssl_assertÚNULLÚgcZDH_freeZCRYPTOGRAPHY_IS_LIBRESSLÚnewÚDH_get0_pqgÚBN_dupZDH_set0_pqg)Údh_cdataÚbackendÚlibZffiÚparam_cdataÚqZq_dupÚres© r ú/usr/lib64/python3.6/dh.pyÚ_dh_params_dup s r c C s t | |ƒ}t||ƒS )N)r Ú _DHParameters)r r r r r r Ú_dh_cdata_to_parameters s r c @ s, e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd S ) r c C s || _ || _d S )N)Ú_backendÚ _dh_cdata)Úselfr r r r r Ú__init__&