#!/usr/bin/env python2 from Crypto.Cipher import AES from keys import key1, key2 def pkcs7_pad(msg): val = 16 - (len(msg) % 16) if val == 0: val = 16 pad_data = msg + (chr(val) * val) return pad_data def decrypt_message(key, IV): print("Hex data for decryption") ctxt = raw_input("=> ") ctxt = ctxt.decode('hex') if (len(ctxt) % 16) != 0: print "Specify a proper length" return cipher = AES.new(key, AES.MODE_CBC, IV) ptxt = cipher.decrypt(ctxt) print ptxt.encode('hex') def new_key(): print("Choose between 2 keys") key_opt = str(raw_input("=> ")) if key_opt == "1": key = key1 elif key_opt == "2": key = key2 else: print("Only 2 keys available") exit() return key def main(): print("You have 2 keys to choose from") key_opt = str(raw_input("=> ")) if key_opt == "1": key = key1 elif key_opt == "2": key = key2 else: print("Only 2 keys available") exit() while True: print("1) Decrypt content") print("2) Choose a different key") print("3) Exit") choice = str(raw_input("=> ")) encrypt_message(key, key) if choice == "1": decrypt_message(key, key) elif choice == "2": key = new_key() else: exit() if __name__=='__main__': main()