cargo fmt
This commit is contained in:
+10
-8
@@ -32,8 +32,12 @@ const fn precompute_reorder_lut() -> [u8; 256] {
|
|||||||
let mut b: usize = 0;
|
let mut b: usize = 0;
|
||||||
while b < 256 {
|
while b < 256 {
|
||||||
let v = b as u8;
|
let v = b as u8;
|
||||||
table[b] = ((v << 6) & 0x40) | ((v << 1) & 0x20) | ((v << 2) & 0x08)
|
table[b] = ((v << 6) & 0x40)
|
||||||
| ((v >> 3) & 0x14) | ((v >> 2) & 0x01) | ((v >> 5) & 0x02)
|
| ((v << 1) & 0x20)
|
||||||
|
| ((v << 2) & 0x08)
|
||||||
|
| ((v >> 3) & 0x14)
|
||||||
|
| ((v >> 2) & 0x01)
|
||||||
|
| ((v >> 5) & 0x02)
|
||||||
| ((v << 4) & 0x80);
|
| ((v << 4) & 0x80);
|
||||||
b += 1;
|
b += 1;
|
||||||
}
|
}
|
||||||
@@ -66,13 +70,11 @@ fn precompute_sbox_seq(mut key_reg: u32, n_rounds: usize) -> [u8; MAX_ROUNDS] {
|
|||||||
/// Returns true if the candidate key_reg produces the exact known keystream prefix
|
/// Returns true if the candidate key_reg produces the exact known keystream prefix
|
||||||
/// Early aborts on the first mismatch
|
/// Early aborts on the first mismatch
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn keyreg_matches_prefix(
|
pub fn keyreg_matches_prefix(frame_number: u32, key_reg: u32, known_prefix: &[u8]) -> bool {
|
||||||
frame_number: u32,
|
|
||||||
key_reg: u32,
|
|
||||||
known_prefix: &[u8],
|
|
||||||
) -> bool {
|
|
||||||
let n = known_prefix.len();
|
let n = known_prefix.len();
|
||||||
if n == 0 { return true; }
|
if n == 0 {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
let total_rounds = 54 + 19 * (n - 1);
|
let total_rounds = 54 + 19 * (n - 1);
|
||||||
let sbox_seq = precompute_sbox_seq(key_reg, total_rounds);
|
let sbox_seq = precompute_sbox_seq(key_reg, total_rounds);
|
||||||
|
|||||||
Reference in New Issue
Block a user