From db0d148ca19b035f5869dd061b612dfd3b2c5ade Mon Sep 17 00:00:00 2001 From: Sam Hadow Date: Tue, 28 Apr 2026 14:00:07 +0200 Subject: [PATCH] cargo clippy --- src/main.rs | 2 ++ src/tea1_attack.rs | 16 ++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index 4ed5558..ba50641 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,5 @@ +#![allow(dead_code)] + mod lfsr; mod period; mod tea1; diff --git a/src/tea1_attack.rs b/src/tea1_attack.rs index f70f902..5836346 100644 --- a/src/tea1_attack.rs +++ b/src/tea1_attack.rs @@ -17,8 +17,8 @@ const fn precompute_deriv_lut(lut: &[u16; 8]) -> [u8; 65536] { if (lut[i] & (1u16 << dist)) != 0 { out |= 1u8 << i; } - st0 = (st0 >> 1) | (st0 << 7); - st1 = (st1 >> 1) | (st1 << 7); + st0 = st0.rotate_right(1); + st1 = st1.rotate_right(1); i += 1; } table[wst] = out; @@ -40,8 +40,12 @@ const fn precompute_reorder_lut() -> [u8; 256] { table } -const DERIV_A_LUT: [u8; 65536] = precompute_deriv_lut(&TEA1_LUT_A); -const DERIV_B_LUT: [u8; 65536] = precompute_deriv_lut(&TEA1_LUT_B); +#[allow(long_running_const_eval)] +static DERIV_A_LUT: [u8; 65536] = precompute_deriv_lut(&TEA1_LUT_A); + +#[allow(long_running_const_eval)] +static DERIV_B_LUT: [u8; 65536] = precompute_deriv_lut(&TEA1_LUT_B); + const REORDER_LUT: [u8; 256] = precompute_reorder_lut(); // 5 bytes: 54 + 19*4 = 149 rounds max @@ -50,10 +54,10 @@ const MAX_ROUNDS: usize = 149; #[inline(always)] fn precompute_sbox_seq(mut key_reg: u32, n_rounds: usize) -> [u8; MAX_ROUNDS] { let mut seq = [0u8; MAX_ROUNDS]; - for i in 0..n_rounds { + for slot in seq.iter_mut().take(n_rounds) { let idx = (((key_reg >> 24) ^ key_reg) & 0xFF) as usize; let so = TEA1_SBOX[idx]; - seq[i] = so; + *slot = so; key_reg = (key_reg << 8) | (so as u32); } seq