import string def encryption(msg): ct = [] for char in msg: ct.append((123 * ord(char) + 18) % 256) return bytes(ct) dict = {} for elem in string.printable: enc = encryption(elem)[0] dict[elem] = enc dict[enc] = elem print(dict) f = open('./msg.enc','r') ct = f.readline() ct = [int(ct[i:i+2],16) for i in range(0, len(ct), 2)] solve = "" for elem in ct: solve += dict[elem] print(solve)