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.