From e2933979fc28dd444394c35c349fa90072994216 Mon Sep 17 00:00:00 2001 From: Kirti Vardhan Rathore Date: Wed, 24 Sep 2025 12:43:00 +0530 Subject: [PATCH] Fix: Use symmetric key encryption in amitcrypto.py --- amitcrypto.py | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/amitcrypto.py b/amitcrypto.py index 2ec1748..2bf08d5 100644 --- a/amitcrypto.py +++ b/amitcrypto.py @@ -1,18 +1,31 @@ from Crypto.Cipher import XOR - -key = "abcdefghijklij" -xor = XOR.XORCipher(key) # To encrypt -xor1 = XOR.XORCipher(key) # To decrypt + from Crypto.Cipher import AES + from Crypto.Util.Padding import pad, unpad + import os + + key = b'abcdefghijklmnop' # 16-byte key for AES-128 def enc(sock, message, addr): - abcd = xor.encrypt(message) - print message == dec(sock, abcd, addr) - sock.sendto(abcd, addr) - return abcd + # Convert message to bytes if it's a string + if isinstance(message, str): + message_bytes = message.encode() + else: + message_bytes = message + iv = os.urandom(16) # Generate random IV + cipher = AES.new(key, AES.MODE_CBC, iv) + padded_message = pad(message_bytes, AES.block_size) + ciphertext = cipher.encrypt(padded_message) + encrypted_data = iv + ciphertext + sock.sendto(encrypted_data, addr) + return encrypted_data def dec(sock, message, addr): - abcd = xor1.decrypt(message) - return abcd + iv = message[:16] + ciphertext = message[16:] + cipher = AES.new(key, AES.MODE_CBC, iv) + padded_plaintext = cipher.decrypt(ciphertext) + plaintext_bytes = unpad(padded_plaintext, AES.block_size) + return plaintext_bytes #message = "dfjsdfjsdfjdsfdfsk" #print message