feat(protocol): Hash-based retransmission mechanism

See the updated whitepaper for details.

Fixes: #331
This commit is contained in:
Karolin Varner
2024-12-06 16:59:17 +01:00
parent a30805f8a0
commit b483612cb7
6 changed files with 537 additions and 45 deletions

View File

@@ -7,6 +7,17 @@ const_assert!(KEY_LEN == aead::KEY_LEN);
const_assert!(KEY_LEN == xaead::KEY_LEN);
const_assert!(KEY_LEN == hash_domain::KEY_LEN);
/// Keyed hashing
///
/// This should only be used for implementation details; anything with relevance
/// to the cryptographic protocol should use the facilities in [hash_domain], (though
/// hash domain uses this module internally)
pub mod keyed_hash {
pub use crate::subtle::incorrect_hmac_blake2b::{
hash, KEY_LEN, KEY_MAX, KEY_MIN, OUT_MAX, OUT_MIN,
};
}
/// Authenticated encryption with associated data
pub mod aead {
#[cfg(not(feature = "experiment_libcrux"))]