from collections import Counter from ciphers.caesar import CaesarCipher from easybits import Bits class CaesarCracker: def crack_caesar(self, ciphertext): freq = Counter(ciphertext) most_common_cipher_char = freq.most_common(1)[0][0] space_int = Bits(' ').int cipher_int = Bits(most_common_cipher_char).int secret = cipher_int - space_int return secret def crack_caesar(ciphertext): cracker = CaesarCracker() return cracker.crack_caesar(ciphertext)