securedrop_protocol_minimal/primitives/
pad.rs1use alloc::vec::Vec;
2
3pub const PADDED_MESSAGE_LEN: usize = 100000;
7
8#[cfg_attr(hax, hax_lib::fstar::verification_status(lax))]
9pub fn pad_message(message: &[u8]) -> Vec<u8> {
11 if message.len() > PADDED_MESSAGE_LEN {
12 panic!("Message too long for padding");
14 }
15
16 let mut padded = Vec::with_capacity(PADDED_MESSAGE_LEN);
17 padded.extend_from_slice(message);
18
19 let padding_needed = PADDED_MESSAGE_LEN - message.len();
21 for _ in 0..padding_needed {
22 padded.push(0u8);
23 }
24
25 padded
26}