cryptopals

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 469d63f8a0571fe80dc545235dd8e11b955dfa4a
parent d85b31355c22108c59285856e103d9f9def67992
Author: mpizzzle <michael.770211@gmail.com>
Date:   Wed,  1 Nov 2017 08:40:34 +0000

temp commit

Diffstat:
Mset3/aes_in_ctr_mode.py | 3++-
Aset3/break_fixed_nonce_ctr_using_substitutions.py | 11+++++++++++
Aset3/files/19.txt | 40++++++++++++++++++++++++++++++++++++++++
3 files changed, 53 insertions(+), 1 deletion(-)

diff --git a/set3/aes_in_ctr_mode.py b/set3/aes_in_ctr_mode.py @@ -1,5 +1,5 @@ from Crypto.Cipher import AES - +from Crypto.Util import Counter ciphertext = "L77na/nrFsKvynd6HzOoG7GHTLXsTVu9qvY/2syLXzhPweyyMTJULu/6/kXX0KSvoOLSFQ==".decode("base64") key = "YELLOW SUBMARINE" nonce = ''.join(['\x00' for i in range(AES.block_size / 2)]) @@ -16,3 +16,4 @@ def encrypt(ciphertext, key, nonce): return plaintext print encrypt(encrypt(encrypt(ciphertext, key, nonce), key, nonce), key, nonce) +print AES.new(key, AES.MODE_CTR, counter=Counter.new(64,initial_value=0,little_endian=True,prefix=nonce)).encrypt(ciphertext) diff --git a/set3/break_fixed_nonce_ctr_using_substitutions.py b/set3/break_fixed_nonce_ctr_using_substitutions.py @@ -0,0 +1,11 @@ +from Crypto.Cipher import AES +from Crypto import Random +from Crypto.Util import Counter + +key = Random.new().read(AES.block_size) + +with open('files/19.txt') as f: + ciphertexts = [AES.new(key, AES.MODE_CTR, counter=Counter.new(64,initial_value=0,little_endian=True,prefix="\x00\x00\x00\x00\x00\x00\x00\x00")).encrypt(line) for line in f.read().splitlines()] + +for ct in ciphertexts: + print ct diff --git a/set3/files/19.txt b/set3/files/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=