pub trait Tls12AeadAlgorithm:
    Send
    + Sync
    + 'static {
    // Required methods
    fn decrypter(
        &self,
        key: LessSafeKey,
        iv: &[u8],
    ) -> Box<dyn MessageDecrypter>;
    fn encrypter(
        &self,
        key: LessSafeKey,
        iv: &[u8],
        extra: &[u8],
    ) -> Box<dyn MessageEncrypter>;
}