from easybits import Bits from collections import Counter from ciphers.caesar import CaesarCipher def crack_caesar(ciphertext): fulltext = '' with open(ciphertext,"r") as text: for line in text: cleanline = line.strip() for char in cleanline: fulltext += char counter = Counter(fulltext) countdict = dict(counter) print(countdict) maximum = max(countdict.values()) target = '' for char in countdict: if countdict[char] == maximum: target = char diff = Bits(target,8).int - Bits(" ",8).int cipher = CaesarCipher(diff) decryptedtext = cipher.decrypt(fulltext) #I included this part to double check that the function works return diff, decryptedtext def polyalpha_helper(text): #used to help crack the code! groups = [[],[],[],[],[],[]] for i in range(len(text)): for n in range(6): if i%6 == n: groups[n].append(text[i]) groupmax = [] for alist in groups: counter = dict(Counter(alist)) sorter = sorted(counter.items(), key=lambda item: item[1], reverse = True) max = sorter[0] groupmax.append(max) print(groupmax)