diff options
-rw-r--r-- | data/19.txt | 40 | ||||
-rw-r--r-- | tests/lib.rs | 18 |
2 files changed, 58 insertions, 0 deletions
diff --git a/data/19.txt b/data/19.txt new file mode 100644 index 0000000..affd17b --- /dev/null +++ b/data/19.txt @@ -0,0 +1,40 @@ +SSBoYXZlIG1ldCB0aGVtIGF0IGNsb3NlIG9mIGRheQ== +Q29taW5nIHdpdGggdml2aWQgZmFjZXM= +RnJvbSBjb3VudGVyIG9yIGRlc2sgYW1vbmcgZ3JleQ== +RWlnaHRlZW50aC1jZW50dXJ5IGhvdXNlcy4= +SSBoYXZlIHBhc3NlZCB3aXRoIGEgbm9kIG9mIHRoZSBoZWFk +T3IgcG9saXRlIG1lYW5pbmdsZXNzIHdvcmRzLA== +T3IgaGF2ZSBsaW5nZXJlZCBhd2hpbGUgYW5kIHNhaWQ= +UG9saXRlIG1lYW5pbmdsZXNzIHdvcmRzLA== +QW5kIHRob3VnaHQgYmVmb3JlIEkgaGFkIGRvbmU= +T2YgYSBtb2NraW5nIHRhbGUgb3IgYSBnaWJl +VG8gcGxlYXNlIGEgY29tcGFuaW9u +QXJvdW5kIHRoZSBmaXJlIGF0IHRoZSBjbHViLA== +QmVpbmcgY2VydGFpbiB0aGF0IHRoZXkgYW5kIEk= +QnV0IGxpdmVkIHdoZXJlIG1vdGxleSBpcyB3b3JuOg== +QWxsIGNoYW5nZWQsIGNoYW5nZWQgdXR0ZXJseTo= +QSB0ZXJyaWJsZSBiZWF1dHkgaXMgYm9ybi4= +VGhhdCB3b21hbidzIGRheXMgd2VyZSBzcGVudA== +SW4gaWdub3JhbnQgZ29vZCB3aWxsLA== +SGVyIG5pZ2h0cyBpbiBhcmd1bWVudA== +VW50aWwgaGVyIHZvaWNlIGdyZXcgc2hyaWxsLg== +V2hhdCB2b2ljZSBtb3JlIHN3ZWV0IHRoYW4gaGVycw== +V2hlbiB5b3VuZyBhbmQgYmVhdXRpZnVsLA== +U2hlIHJvZGUgdG8gaGFycmllcnM/ +VGhpcyBtYW4gaGFkIGtlcHQgYSBzY2hvb2w= +QW5kIHJvZGUgb3VyIHdpbmdlZCBob3JzZS4= +VGhpcyBvdGhlciBoaXMgaGVscGVyIGFuZCBmcmllbmQ= +V2FzIGNvbWluZyBpbnRvIGhpcyBmb3JjZTs= +SGUgbWlnaHQgaGF2ZSB3b24gZmFtZSBpbiB0aGUgZW5kLA== +U28gc2Vuc2l0aXZlIGhpcyBuYXR1cmUgc2VlbWVkLA== +U28gZGFyaW5nIGFuZCBzd2VldCBoaXMgdGhvdWdodC4= +VGhpcyBvdGhlciBtYW4gSSBoYWQgZHJlYW1lZA== +QSBkcnVua2VuLCB2YWluLWdsb3Jpb3VzIGxvdXQu +SGUgaGFkIGRvbmUgbW9zdCBiaXR0ZXIgd3Jvbmc= +VG8gc29tZSB3aG8gYXJlIG5lYXIgbXkgaGVhcnQs +WWV0IEkgbnVtYmVyIGhpbSBpbiB0aGUgc29uZzs= +SGUsIHRvbywgaGFzIHJlc2lnbmVkIGhpcyBwYXJ0 +SW4gdGhlIGNhc3VhbCBjb21lZHk7 +SGUsIHRvbywgaGFzIGJlZW4gY2hhbmdlZCBpbiBoaXMgdHVybiw= +VHJhbnNmb3JtZWQgdXR0ZXJseTo= +QSB0ZXJyaWJsZSBiZWF1dHkgaXMgYm9ybi4= diff --git a/tests/lib.rs b/tests/lib.rs index f15fefe..08fb2a9 100644 --- a/tests/lib.rs +++ b/tests/lib.rs @@ -19,6 +19,14 @@ fn read_as_hex_lines (filename: &str) -> Vec<Vec<u8>> { .collect(); } +fn read_as_base64_lines (filename: &str) -> Vec<Vec<u8>> { + let fh = File::open(filename).unwrap(); + return std::io::BufStream::new(fh) + .lines() + .map(|line| line.unwrap().from_base64().unwrap()) + .collect(); +} + fn read_as_base64 (filename: &str) -> Vec<u8> { let fh = File::open(filename).unwrap(); return std::io::BufStream::new(fh) @@ -407,3 +415,13 @@ fn problem_18 () { ); assert_eq!(got, plaintext); } + +// #[test] +// fn problem_19 () { +// let key = random_aes_128_key(); +// let ciphertexts = read_as_base64_lines("data/19.txt") +// .iter() +// .map(|line| matasano::aes_128_ctr(&line[..], &key[..], 0)) +// .collect(); +// let plaintexts = matasano::crack_fixed_nonce_ctr_substitutions(); +// } |