def encrypt(strng, key): encrypted = "" for x in strng: indx = (ord(x) + key) % 256 if indx > 126: indx = indx - 95 encrypted = encrypted + chr(indx) return encrypted def decrypt(strng, key): decrypted = "" for x in strng: indx = (ord(x) - key) % 256 if indx < 32: indx = indx + 95 decrypted = decrypted + chr(indx) return decrypted def brute_force(strng): key = 1 decrypted = "" while key <= 94: for x in strng: indx = (ord(x) - key) % 256 if indx < 32: indx = indx + 95 decrypted = decrypted + chr(indx) print("Key: {}\t| Message: {}".format(key, decrypted)) decrypted = "" key += 1 return None def main(): while True: print("-" * 10 + "\n**Menu**\n" + "-" * 10) print("1.Encrpyt") print("2.Decrypt") print("3.BruteForce") print("4.Quit") choice = input("What would you like to do?: ") if choice not in ["1", "2", "3", "4"]: print("Invalid choice, please enter a valid choice") elif choice == "1": strng = input("Please enter the string to be encrypted: ") key = int(input("Please enter off-set between 1-94: ")) if key in range(1, 95): print(encrypt(strng.lower(), key)) elif choice == "2": strng = input("Please enter the string to be decrypted: ") key = int(input("Please enter off-set between 1-94: ")) if key in range(1, 95): print(decrypt(strng, key)) elif choice == "3": strng = input("Please enter the string to be decrypted: ") brute_force(strng) main() elif choice == "4": print("Goodbye.") break if __name__ == "__main__": main()