Struct ring::aead::chacha20_poly1305_openssh::SealingKey
[−]
[src]
pub struct SealingKey { /* fields omitted */ }
A key for sealing packets.
Methods
impl SealingKey
[src]
fn new(key_material: &[u8; 64]) -> SealingKey
Constructs a new SealingKey
.
fn seal_in_place(&self,
sequence_number: u32,
plaintext_in_ciphertext_out: &mut [u8],
tag_out: &mut [u8; 16])
sequence_number: u32,
plaintext_in_ciphertext_out: &mut [u8],
tag_out: &mut [u8; 16])
Seals (encrypts and signs) a packet.
On input, plaintext_in_ciphertext_out
must contain the unencrypted
packet_length||plaintext
where plaintext
is the
padding_length||payload||random padding
. It will be overwritten by
encrypted_packet_length||ciphertext
, where encrypted_packet_length
is encrypted with K_1
and ciphertext
is encrypted by K_2
.