Łamanie szyfru Cezara wszystkimi kluczami

Szyfr Cezara - Algorytmy z podstawy programowej (Python)

Kluczy jest tylko 25, więc szyfr łatwo złamać: wypisujemy tekst odszyfrowany każdym kluczem i szukamy wzrokiem tego, który ma sens. Takie podejście nazywa się **przeszukiwaniem wyczerpującym** (brute force).

def cezar(tekst, klucz):
    wynik = ""
    for znak in tekst:
        if "A" <= znak <= "Z":
            wynik += chr((ord(znak) - ord("A") + klucz) % 26 + ord("A"))
        else:
            wynik += znak
    return wynik


szyfr = "GHTLR"
for k in range(1, 26):
    print(k, cezar(szyfr, -k))

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Algorytmy z podstawy programowej·Zaloguj się, aby zapisać postęp na koncie.