Expand description

The chacha20-poly1305@openssh.com AEAD-ish construct.

This should only be used by SSH implementations. It has a similar, but different API from ring::aead because the construct cannot use the same API as ring::aead due to the way the construct handles the encrypted packet length.

The concatenation of a and b is denoted a||b. K_1 and K_2 are defined in the chacha20-poly1305@openssh.com specification. packet_length, padding_length, payload, and random padding are defined in RFC 4253. The term plaintext is used as a shorthand for padding_length||payload||random padding.

Structs

A key for opening packets.
A key for sealing packets.

Constants

The length of key.
The length in bytes of the packet_length field in a SSH packet.
The length in bytes of an authentication tag.