Atak siłowy
Łamanie szyfru Cezara i rola szyfrowania informacji - Informatyka - technikum klasa 1 (Python)
Szyfr Cezara ma tylko **25 sensownych kluczy** (klucz 0 i 26 nic nie zmienia). Kto przechwyci szyfrogram, może po prostu sprawdzić wszystkie: to **atak siłowy** (brute force). Wystarczy wypisać 25 prób odszyfrowania i znaleźć wzrokiem tę, która ma sens. Szyfr, który da się złamać przeglądem wszystkich kluczy, nie chroni żadnej tajemnicy. Współczesne szyfry mają tak wiele kluczy (np. 2^128), że ich przeglądanie trwałoby miliardy lat.
def decrypt(text, key):
result = ""
for ch in text:
if "A" <= ch <= "Z":
result += chr((ord(ch) - ord("A") - key) % 26 + ord("A"))
else:
result += ch
return result
secret = "TUJBXFTJ I RWOXAVJCHTR KNMIRN F YRJCNT"
for key in range(1, 26):
print(key, decrypt(secret, key))Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Informatyka - technikum klasa 1·Zaloguj się, aby zapisać postęp na koncie.