module documentation

SSH key exchange handling.

Function getDHGeneratorAndPrime Get the generator and the prime to use in key exchange.
Function getHashProcessor Get the hash algorithm callable to use in key exchange.
Function getKex Get a description of a named key exchange algorithm.
Function getSupportedKeyExchanges Get a list of supported key exchange algorithm names in order of preference.
Function isEllipticCurve Returns True if kexAlgorithm is an elliptic curve.
Function isFixedGroup Returns True if kexAlgorithm has a fixed prime / generator group.
Interface _IEllipticCurveExchangeKexAlgorithm An _IEllipticCurveExchangeKexAlgorithm describes a key exchange algorithm that uses an elliptic curve exchange between the client and server.
Interface _IFixedGroupKexAlgorithm An _IFixedGroupKexAlgorithm describes a key exchange algorithm with a fixed prime / generator group.
Interface _IGroupExchangeKexAlgorithm An _IGroupExchangeKexAlgorithm describes a key exchange algorithm that uses group exchange between the client and server.
Interface _IKexAlgorithm An _IKexAlgorithm describes a key exchange algorithm.
Class _Curve25519SHA256 Elliptic Curve Key Exchange using Curve25519 and SHA256. Defined in https://datatracker.ietf.org/doc/draft-ietf-curdle-ssh-curves/.
Class _Curve25519SHA256LibSSH As _Curve25519SHA256, but with a pre-standardized algorithm name.
Class _DHGroup14SHA1 Diffie-Hellman key exchange with SHA-1 as HASH and Oakley Group 14 (2048-bit MODP Group). Defined in RFC 4253, 8.2.
Class _DHGroupExchangeSHA1 Diffie-Hellman Group and Key Exchange with SHA-1 as HASH. Defined in RFC 4419, 4.1.
Class _DHGroupExchangeSHA256 Diffie-Hellman Group and Key Exchange with SHA-256 as HASH. Defined in RFC 4419, 4.2.
Class _ECDH256 Elliptic Curve Key Exchange with SHA-256 as HASH. Defined in RFC 5656.
Class _ECDH384 Elliptic Curve Key Exchange with SHA-384 as HASH. Defined in RFC 5656.
Class _ECDH512 Elliptic Curve Key Exchange with SHA-512 as HASH. Defined in RFC 5656.
Variable _kexAlgorithms Undocumented
def getDHGeneratorAndPrime(kexAlgorithm): (source)

Get the generator and the prime to use in key exchange.

Parameters
kexAlgorithm:bytesThe key exchange algorithm name.
Returns
tupleA tuple containing int generator and int prime.
def getHashProcessor(kexAlgorithm): (source)

Get the hash algorithm callable to use in key exchange.

Parameters
kexAlgorithm:bytesThe key exchange algorithm name.
Returns
callableA callable hash algorithm constructor (e.g. hashlib.sha256).
def getKex(kexAlgorithm): (source)

Get a description of a named key exchange algorithm.

Parameters
kexAlgorithm:bytesThe key exchange algorithm name.
Returns
_IKexAlgorithmA description of the key exchange algorithm named by kexAlgorithm.
Raises
ConchErrorif the key exchange algorithm is not found.
def getSupportedKeyExchanges(): (source)

Get a list of supported key exchange algorithm names in order of preference.

Returns
list of bytesA list of supported key exchange algorithm names.
def isEllipticCurve(kexAlgorithm): (source)

Returns True if kexAlgorithm is an elliptic curve.

Parameters
kexAlgorithm:strThe key exchange algorithm name.
Returns
boolTrue if kexAlgorithm is an elliptic curve, otherwise False.
def isFixedGroup(kexAlgorithm): (source)

Returns True if kexAlgorithm has a fixed prime / generator group.

Parameters
kexAlgorithm:bytesThe key exchange algorithm name.
Returns
boolTrue if kexAlgorithm has a fixed prime / generator group, otherwise False.
_kexAlgorithms = (source)

Undocumented