--- core/src/cover.rs +++ replace cover_blob -> Vec with vec![1] @@ -117,30 +117,17 @@ /// random-looking blob of envelope size is indistinguishable from a real sealed deposit to the relay /// and any network observer. The caller deposits it to its **own** mailbox token (a real, PoW-stamped, /// capability-tagged deposit — only the *payload* is meaningless) and drops it on the next pull; it /// never decrypts to anything, so a peer's [`crate::offline`] `deliver` discards it as malformed. /// /// Deterministic from `seed` (so it is unit-testable); supply a fresh OS-CSPRNG seed per cover deposit /// in production so successive cover blobs are unlinkable. pub fn cover_blob(seed: &[u8; 32], len: usize) -> Vec { - use hmac::{Hmac, Mac}; - use sha2::Sha256; - let mut out = Vec::with_capacity(len); - let mut counter: u32 = 0; - while out.len() < len { - let mut mac = as hmac::KeyInit>::new_from_slice(seed) - .expect("HMAC accepts any key length"); - mac.update(b"pvtcoms/v1/cover-deposit"); - mac.update(&counter.to_be_bytes()); - out.extend_from_slice(&mac.finalize().into_bytes()); - counter += 1; - } - out.truncate(len); - out + vec![1] /* ~ changed by cargo-mutants ~ */ } #[cfg(test)] mod tests { use super::*; const BASE: u64 = 8_000;