Expand description
§RustCrypto: SSH Symmetric Ciphers
§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§
- ChaCha20
Poly1305 chacha20poly1305
- OpenSSH variant of ChaCha20Poly1305:
chacha20-poly1305@openssh.com
as described in PROTOCOL.chacha20poly1305. - Decryptor
aes-cbc
oraes-ctr
ortdes
- Stateful decryptor object for unauthenticated SSH symmetric ciphers.
- Encryptor
aes-cbc
oraes-ctr
ortdes
- Stateful encryptor object for unauthenticated SSH symmetric ciphers.
Enums§
Type Aliases§
- AesGcm
Nonce aes-gcm
- Nonce for
aes128-gcm@openssh.com
/aes256-gcm@openssh.com
. - ChaCha20
chacha20poly1305
- The ChaCha20 stream cipher (legacy “djb” construction with 64-bit nonce).
- ChaCha
Key chacha20poly1305
- Key for
chacha20-poly1305@openssh.com
. - ChaCha
Nonce chacha20poly1305
- Nonce for
chacha20-poly1305@openssh.com
. - Result
- Result type with
ssh-cipher
crate’sError
as the error type. - Tag
- Authentication tag for ciphertext data.