From 4213d57bdf70b6339bc4affdc751c296f9aa14f0 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 7 Apr 2015 01:05:28 -0400 Subject: problem 25 --- src/crack.rs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/crack.rs') diff --git a/src/crack.rs b/src/crack.rs index 39a8e1a..abfd84a 100644 --- a/src/crack.rs +++ b/src/crack.rs @@ -427,6 +427,14 @@ pub fn recover_mt19937_key_from_time (token: &[u8]) -> Option { return None; } +pub fn crack_aes_128_ctr_random_access (ciphertext: &[u8], edit: F) -> Vec where F: Fn(&[u8], usize, &[u8]) -> Vec { + let empty_plaintext: Vec = ::std::iter::repeat(b'\x00') + .take(ciphertext.len()) + .collect(); + let keystream = edit(ciphertext, 0, &empty_plaintext[..]); + return fixed_xor(&keystream[..], ciphertext); +} + fn crack_single_byte_xor_with_confidence (input: &[u8]) -> (u8, f64) { let mut min_diff = 100.0; let mut best_key = 0; -- cgit v1.2.3-54-g00ecf