generated from mwc/lab_encryption
because I could actually test what was happening instead of just guessing. It made it easier to see how encryption and decryption work step by step, and I could quickly fix mistakes when something didn’t work. I had trouble finding the secret word at first because I was only getting numbers when I calculated the shifts. I couldn’t turn that into a readable word, so I used the secret word provided by the professor instead. Then I used that word in PolyCipher to decrypt the message and check that it worked.
8 lines
251 B
Python
8 lines
251 B
Python
from collections import Counter
|
|
from easybits import Bits
|
|
|
|
def crack_caesar(ciphertext):
|
|
counts = Counter(ciphertext)
|
|
most_common_char = counts.most_common(1)[0][0]
|
|
shift = Bits(most_common_char).int - Bits(' ').int
|
|
return shift |