← Back
Editing: _kex.cpython-38.pyc
U W[� � @ sz 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��Ze� e� e� e� e� e� d�Zdd� Zdd� Zd d!� Zd"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 �8/usr/lib/python3/dist-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. Nr r r r r r <