File: //lib64/python3.6/site-packages/M2Crypto/__pycache__/DH.cpython-36.opt-1.pyc
3
YݧZ� � @ s� d dl mZ d dlmZmZmZ d dlmZ ejrBd dl m
Z
mZ G dd� de�Z
eje
� G dd� de�Zefd d
�Zdd� Zd
d� Zdd� ZejZejZdS )� )�absolute_import)�BIO�m2�util)�genparam_callback)�AnyStr�Callablec @ s e Zd ZdS )�DHErrorN)�__name__�
__module__�__qualname__� r
r
�/usr/lib64/python3.6/DH.pyr
s r c @ sh e Zd ZdZejZddd�Zdd� Zdd� Z d d
� Z
dd� Zd
d� Zdd� Z
dd� Zdd� Zdd� ZdS )�DHzBObject interface to the Diffie-Hellman key exchange protocol.
r c C s || _ || _d S )N)�dh�_pyfree)�selfr r r
r
r �__init__ s zDH.__init__c C s t | dd�r| j| j� d S )Nr r )�getattr�
m2_dh_freer )r r
r
r �__del__ s z
DH.__del__c C s t tj| j��S )N)�intr Zdh_sizer )r r
r
r �__len__$ s z
DH.__len__c C s* |dkr"t td|f �}|| j�S t�d S )N�p�g�pub�privz dh_get_%s)r r r r )r r r �AttributeError)r �name�methodr
r
r �__getattr__) s
zDH.__getattr__c C s2 |dkrt d��n|dkr$t d��n
|| j|<