securedrop_protocol_minimal/primitives/
pad.rs1use alloc::vec::Vec;
2
3pub const PADDED_MESSAGE_LEN: usize = 100000;
7
8#[cfg_attr(hax, hax_lib::requires(message.len() <= PADDED_MESSAGE_LEN))]
16pub fn pad_message(message: &[u8]) -> Vec<u8> {
17 if message.len() > PADDED_MESSAGE_LEN {
18 panic!("Message too long for padding");
19 }
20
21 let mut padded = Vec::with_capacity(PADDED_MESSAGE_LEN);
22 padded.extend_from_slice(message);
23
24 let padding = alloc::vec![0u8; PADDED_MESSAGE_LEN - message.len()];
26 padded.extend_from_slice(&padding);
27
28 padded
29}