pub struct KeyBlockShape {
pub enc_key_len: usize,
pub fixed_iv_len: usize,
pub explicit_nonce_len: usize,
}
Expand description
How a TLS1.2 key_block
is partitioned.
Note: ciphersuites with non-zero mac_key_length
are not currently supported.
Fields§
§enc_key_len: usize
How long keys are.
enc_key_length
terminology is from the standard (RFC5246 A.6).
fixed_iv_len: usize
How long the fixed part of the ‘IV’ is.
fixed_iv_length
terminology is from the standard (RFC5246 A.6).
This isn’t usually an IV, but we continue the terminology misuse to match the standard.
explicit_nonce_len: usize
This is a non-standard extension which extends the key block to provide an initial explicit nonce offset, in a deterministic and safe way. GCM needs this, chacha20poly1305 works this way by design.
Auto Trait Implementations§
impl Freeze for KeyBlockShape
impl RefUnwindSafe for KeyBlockShape
impl Send for KeyBlockShape
impl Sync for KeyBlockShape
impl Unpin for KeyBlockShape
impl UnwindSafe for KeyBlockShape
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes