Struct tink_streaming_aead::subtle::noncebased::WriterParams
source · pub struct WriterParams {
pub w: Box<dyn Write>,
pub segment_encrypter: Box<dyn SegmentEncrypter>,
pub nonce_size: usize,
pub nonce_prefix: Vec<u8>,
pub plaintext_segment_size: usize,
pub first_ciphertext_segment_offset: usize,
}
Expand description
WriterParams
contains the options for instantiating a Writer
via Writer::new()
.
Fields§
§w: Box<dyn Write>
w
is the underlying writer being wrapped.
segment_encrypter: Box<dyn SegmentEncrypter>
segment_encrypter
provides a method for encrypting segments.
nonce_size: usize
nonce_size
is the length of generated nonces. It must be at least 5 +
nonce_prefix.len()
. It can be longer, but longer nonces introduce more
overhead in the resultant ciphertext.
nonce_prefix: Vec<u8>
nonce_prefix
is a constant that all nonces throughout the ciphertext will
start with. Its length must be at least 5 bytes shorter than nonce_size
.
plaintext_segment_size: usize
The size of the segments which the plaintext will be split into.
first_ciphertext_segment_offset: usize
first_ciphertex_segment_offset
indicates where the ciphertext should begin in
w
. This allows for the existence of overhead in the stream unrelated to
this encryption scheme.