From 4797a57f1ead1563501e95a5cca1f81fe136b7e7 Mon Sep 17 00:00:00 2001 From: JISAUAY Date: Mon, 22 Sep 2025 11:29:37 -0500 Subject: [PATCH] init --- .gitignore | 2 ++ README.md | 0 alice.py | 30 ++++++++++++++++++++++++++++++ bob.py | 18 ++++++++++++++++++ requirements.txt | 1 + 5 files changed, 51 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 alice.py create mode 100644 bob.py create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2d8364d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +ctext +key \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/alice.py b/alice.py new file mode 100644 index 0000000..ebdc80f --- /dev/null +++ b/alice.py @@ -0,0 +1,30 @@ +from Crypto.Cipher import AES +from Crypto.Util.Padding import pad +from Crypto.Random import get_random_bytes + + +# Generate new secret key +with open('key', 'wb') as f: + f.write(get_random_bytes(16)) + +plaintext = input("Please input the message: ") + +# Pad plaintext +plaintext = plaintext.encode() + +plaintext = pad(plaintext, 16) + +# Read Key +with open('key', 'rb') as f: + aes_key = f.read() + +# Encrypt and send (write) message +cipher = AES.new(aes_key, AES.MODE_CBC) + +ciphertext = cipher.encrypt(plaintext) + +with open('ctext', 'wb') as f: + f.write(ciphertext) + + + diff --git a/bob.py b/bob.py new file mode 100644 index 0000000..78ef585 --- /dev/null +++ b/bob.py @@ -0,0 +1,18 @@ +from Crypto.Cipher import AES +from Crypto.Util.Padding import unpad + +# Read Key +with open('key', 'rb') as f: + aes_key = f.read() + +cipher = AES.new(aes_key, AES.MODE_CBC) + +# Read message and decrypt + +with open('ctext', 'rb') as f: + ciphertext = f.read() + +plaintext = unpad(cipher.decrypt(ciphertext), 16) + +print(f'Plaintext: {plaintext}') + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..e0267fd --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +pycryptodome==3.23.0 \ No newline at end of file