Your IP : 216.73.216.213
B
��d^� � @ s� d Z ddlmZmZ ddlmZmZmZmZ ddl m
Z
mZmZ ddl
mZ ddlmZ G dd� de�ZG d d
� d
e�ZG dd� de�ZG d
d� de�Zee�G dd� de��Zee�G dd� de��Zee�G dd� de��Zee�G dd� de��Zee�G dd� de��Zee�G dd� de��Zee�G dd� de��Zee�G dd� de��Ze� e� e� e� e� e� e� e� d�Zd d!� Zd"d#� Z d$d%� Z!d&d'� Z"d(d)� Z#d*d+� Z$d,S )-z
SSH key exchange handling.
� )�absolute_import�division)�sha1�sha256�sha384�sha512)� Attribute�implementer� Interface)�error)�longc @ s e Zd ZdZed�Zed�ZdS )�_IKexAlgorithmzB
An L{_IKexAlgorithm} describes a key exchange algorithm.
z�An L{int} giving the preference of the algorithm when negotiating key exchange. Algorithms with lower precedence values are more preferred.zqA callable hash algorithm constructor (e.g. C{hashlib.sha256}) suitable for use with this key exchange algorithm.N)�__name__�
__module__�__qualname__�__doc__r �
preference�
hashProcessor� r r �I/opt/alt/python37/lib64/python3.7/site-packages/twisted/conch/ssh/_kex.pyr
s
r
c @ s e Zd ZdZed�Zed�ZdS )�_IFixedGroupKexAlgorithmzu
An L{_IFixedGroupKexAlgorithm} describes a key exchange algorithm with a
fixed prime / generator group.
zdA L{long} giving the prime number used in Diffie-Hellman key exchange, or L{None} if not applicable.z�A L{long} giving the generator number used in Diffie-Hellman key exchange, or L{None} if not applicable. (This is not related to Python generator functions.)N)r r r r r �prime� generatorr r r r r # s
r c @ s e Zd ZdZdS )�#_IEllipticCurveExchangeKexAlgorithmz�
An L{_IEllipticCurveExchangeKexAlgorithm} describes a key exchange algorithm
that uses an elliptic curve exchange between the client and server.
N)r r r r r r r r r 4 s r c @ s e Zd ZdZdS )�_IGroupExchangeKexAlgorithmz�
An L{_IGroupExchangeKexAlgorithm} describes a key exchange algorithm
that uses group exchange between the client and server.
A prime / generator group should be chosen at run time based on the
requested size. See RFC 4419.
N)r r r r r r r r r <