updated readme and added some new prints to part 1 / 2

This commit is contained in:
JISAUAY committed 2025-09-23 13:26:56 -05:00
1 parent 7baca9ed2f
commit 253a2f62ac
5 files changed
+36

No files matched your search

+28
View File
@@ -0,0 +1,28 @@
# About
This is the Cryptography homework 3.
# Usage
## Installation
Please install `pycryptodome` using Python 3.10.
## Part 1
First run `alice.py` and input the message.
Run `bob.py` to decrypt the message.
## Part 2
Run `bob.py` to generate bob's public and private keys.
Run `alice.py` and enter a message.
Run `bob.py` to decrypt the message.
## Part 3
Run `speed-test.py` or speed-test-nokey.py`.
The difference between the two is that nokey doesn't generate a new key for each encryption and decryption.
+2
View File
@@ -26,6 +26,8 @@ cipher = AES.new(aes_key, AES.MODE_CBC, iv=b'0'*16)
ciphertext = cipher.encrypt(plaintext) ciphertext = cipher.encrypt(plaintext)
print(f'Ciphertext: {ciphertext}')
with open('ctext', 'wb') as f: with open('ctext', 'wb') as f:
f.write(ciphertext) f.write(ciphertext)
+2
View File
@@ -12,6 +12,8 @@ cipher = AES.new(aes_key, AES.MODE_CBC, iv=b'0'*16)
with open('ctext', 'rb') as f: with open('ctext', 'rb') as f:
ciphertext = f.read() ciphertext = f.read()
print(f'Ciphertext: {ciphertext}')
plaintext = unpad(cipher.decrypt(ciphertext), 16).decode() plaintext = unpad(cipher.decrypt(ciphertext), 16).decode()
print(f'Plaintext: {plaintext}') print(f'Plaintext: {plaintext}')
+2
View File
@@ -14,6 +14,8 @@ cipher = PKCS1_OAEP.new(public_key)
# Encrypt the message # Encrypt the message
ciphertext = cipher.encrypt(message) ciphertext = cipher.encrypt(message)
print(f'Ciphertext: {ciphertext}')
# Write the ciphertext # Write the ciphertext
with open("ctext", "wb") as f: with open("ctext", "wb") as f:
f.write(ciphertext) f.write(ciphertext)
+2
View File
@@ -31,6 +31,8 @@ with open("bob_private.pem", "rb") as f:
with open("ctext", "rb") as f: with open("ctext", "rb") as f:
ciphertext = f.read() ciphertext = f.read()
print(f'Ciphertext: {ciphertext}')
cipher = PKCS1_OAEP.new(private_key) cipher = PKCS1_OAEP.new(private_key)
# Decrypt # Decrypt