pub trait Algorithm: Send + Sync {
    // Required methods
    fn packet_key(&self, key: AeadKey, iv: Iv) -> Box<dyn PacketKey>;
    fn header_protection_key(
        &self,
        key: AeadKey,
    ) -> Box<dyn HeaderProtectionKey>;
    fn aead_key_len(&self) -> usize;
    // Provided method
    fn fips(&self) -> bool { ... }
}Expand description
How a Tls13CipherSuite generates PacketKeys and HeaderProtectionKeys.
Required Methods§
Sourcefn packet_key(&self, key: AeadKey, iv: Iv) -> Box<dyn PacketKey>
 
fn packet_key(&self, key: AeadKey, iv: Iv) -> Box<dyn PacketKey>
Produce a PacketKey encrypter/decrypter for this suite.
suite is the entire suite this Algorithm appeared in.
key and iv is the key material to use.
Sourcefn header_protection_key(&self, key: AeadKey) -> Box<dyn HeaderProtectionKey>
 
fn header_protection_key(&self, key: AeadKey) -> Box<dyn HeaderProtectionKey>
Produce a HeaderProtectionKey encrypter/decrypter for this suite.
key is the key material, which is aead_key_len() bytes in length.
Sourcefn aead_key_len(&self) -> usize
 
fn aead_key_len(&self) -> usize
The length in bytes of keys for this Algorithm.
This controls the size of AeadKeys presented to packet_key() and header_protection_key().