Module ring::aead::chacha20_poly1305_openssh[][src]

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

OpeningKey

A key for opening packets.

SealingKey

A key for sealing packets.

Constants

KEY_LEN

The length of key.

PACKET_LENGTH_LEN

The length in bytes of the packet_length field in a SSH packet.

TAG_LEN

The length in bytes of an authentication tag.