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 |

Get the hash algorithm callable to use in key exchange.

Parameters | |

kexAlgorithm:`bytes` | The key exchange algorithm name. |

Returns | |

callable | A callable hash algorithm constructor (e.g. hashlib.sha256). |

Get a description of a named key exchange algorithm.

Parameters | |

kexAlgorithm:`bytes` | The key exchange algorithm name. |

Returns | |

`_IKexAlgorithm` | A description of the key exchange algorithm named by kexAlgorithm. |

Raises | |

`ConchError` | if the key exchange algorithm is not found. |

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

Returns | |

list of `bytes` | A list of supported key exchange algorithm names. |

Returns `True` if `kexAlgorithm` is an elliptic curve.

Parameters | |

kexAlgorithm:str | The key exchange algorithm name. |

Returns | |

bool | True if kexAlgorithm is an elliptic curve, otherwise False. |