From 92e741ba777d433963c93d42de2bd57fa1baedb4 Mon Sep 17 00:00:00 2001 From: hal8174 Date: Wed, 9 Jul 2025 13:03:14 +0200 Subject: [PATCH] Make num traces argument --- src/main.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index 16b0eec..946f913 100644 --- a/src/main.rs +++ b/src/main.rs @@ -118,14 +118,12 @@ fn read_msgs(path: impl AsRef) -> (Vec<[u8; 16]>, [u8; 16]) { (r, last_round_key(key)) } -const TRACES: usize = 87; - -fn read_traces(path: impl AsRef, capacity: usize) -> Vec> { +fn read_traces(path: impl AsRef, num_traces: usize, capacity: usize) -> Vec> { let file = std::fs::File::open(path).unwrap(); let bufreader = std::io::BufReader::new(file); - let mut r: Vec> = (0..TRACES).map(|_| vec![0; capacity]).collect(); + let mut r: Vec> = (0..num_traces).map(|_| vec![0; capacity]).collect(); for (i, l) in bufreader.lines().enumerate() { let l = l.unwrap(); @@ -235,6 +233,7 @@ fn key_schedule(mut key: [u8; 16], round: usize) -> [u8; 16] { #[derive(Debug, Parser)] struct Args { + num_traces: usize, #[arg(default_value = "./alan/Task-3-example_traces/test_msgs.csv")] msgs: PathBuf, #[arg(default_value = "./alan/Task-3-example_traces/test_traces.csv")] @@ -254,7 +253,7 @@ fn main() { println!("calculate models: {:?}", start.elapsed()); let start = std::time::Instant::now(); - let traces = read_traces(args.traces, cyphertext.len()); + let traces = read_traces(args.traces, args.num_traces, cyphertext.len()); println!("read traces: {:?}", start.elapsed()); let start = std::time::Instant::now(); @@ -262,7 +261,7 @@ fn main() { let (max_index, max) = (0..256) .into_par_iter() .map(|key_hypothesis| { - let m = (0..TRACES) + let m = (0..args.num_traces) .map(|trace_index| { correlation(bit, key_hypothesis, trace_index, &models, &traces).abs() })