Crate ssh_cipher

Crate ssh_cipher 

Source
Expand description

§RustCrypto: SSH Symmetric Ciphers

crate Docs Build Status Apache2/MIT licensed Rust Version Project Chat

Documentation

§About

Pure Rust implementation of SSH symmetric encryption including support for the modern aes128-gcm@openssh.com/aes256-gcm@openssh.com and chacha20-poly1305@openssh.com algorithms as well as legacy support for older ciphers.

Built on the pure Rust cryptography implementations maintained by the RustCrypto organization.

§Minimum Supported Rust Version

This crate requires Rust 1.85 at a minimum.

We may change the MSRV in the future, but it will be accompanied by a minor version bump.

§License

Licensed under either of:

at your option.

§Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Re-exports§

pub use cipher;

Structs§

ChaCha20Poly1305chacha20poly1305
OpenSSH variant of ChaCha20Poly1305: chacha20-poly1305@openssh.com as described in PROTOCOL.chacha20poly1305.
Decryptoraes-cbc or aes-ctr or tdes
Stateful decryptor object for unauthenticated SSH symmetric ciphers.
Encryptoraes-cbc or aes-ctr or tdes
Stateful encryptor object for unauthenticated SSH symmetric ciphers.

Enums§

Cipher
Cipher algorithms.
Error
Error type.

Type Aliases§

AesGcmNonceaes-gcm
Nonce for aes128-gcm@openssh.com/aes256-gcm@openssh.com.
ChaCha20chacha20poly1305
The ChaCha20 stream cipher (legacy “djb” construction with 64-bit nonce).
ChaChaKeychacha20poly1305
Key for chacha20-poly1305@openssh.com.
ChaChaNoncechacha20poly1305
Nonce for chacha20-poly1305@openssh.com.
Result
Result type with ssh-cipher crate’s Error as the error type.
Tag
Authentication tag for ciphertext data.