commit 469d63f8a0571fe80dc545235dd8e11b955dfa4a
parent d85b31355c22108c59285856e103d9f9def67992
Author: mpizzzle <michael.770211@gmail.com>
Date: Wed, 1 Nov 2017 08:40:34 +0000
temp commit
Diffstat:
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=