Główna zawartość
Kurs: Informatyka > Rozdział 2
Lekcja 1: Historia kryptografii- Czym jest kryptografia?
- Szyfr Cezara
- Badanie szyfru Cezara
- Odkrywanie śladów w częstotliwości
- Szyfr polialbabetyczny
- Badanie polialfabetyczności
- Szyfr z kluczem jednorazowym
- Poznawanie tajności doskonałej
- Czy da się odróżnić "fałszywy" ciąg zdarzeń od ciągu prawdziwych zdarzeń losowych?
- Jak bardzo jesteś jednolity?
- Maszyna szyfrująca "Enigma"
- Idealna tajemnica
- Generatory liczb pseudolosowych
- Błądzenie losowe
© 2024 Khan AcademyWarunki użytkowaniapolitykę prywatnościInformacja o plikach cookie
Maszyna szyfrująca "Enigma"
Szyfrowanie z czasów Drugiej Wojny Światowej w oparciu o Enigmę. Przeczytaj o tym więcej tutaj. Stworzone przez: Brit Cruise.
Chcesz dołączyć do dyskusji?
- zalegalizować handel bronią(1 głos)
Transkrypcja filmu video
5 sierpnia 1857 r. przez Atlantyk poprowadzono
kabel długości 4300 km. Połączył Wielką Brytanię
z Amerykami, dodatkowo wzmacniając
ich więzi społeczno-gospodarcze. Teraz informację można było
przetwarzać na układ impulsów elektrycznych i momentalnie przesyłać
na drugi koniec świata. Dane giełdowe i przekazy pieniężne… te zastosowania handlowe
wymyślone przez Western Union zapoczątkowały nową erę
komunikacji globalnej. Uwaga, obwieszczenie! Niemcy napadły na Polskę
i zbombardowały wiele miast. Zarządzono ogólną mobilizację
w Wielkiej Brytanii i Francji. Kraj jest w stanie wojny z Niemcami. …to prawdziwa przyczyna wojny, która zagraża dziś ludzkości. Japończycy zaatakowali
Pearl Harbor z powietrza. Ogłosił to prezydent Roosevelt. Podczas 2. wojny światowej
Niemcy, Włochy i Japonia nie miały tyle wojska, ile Alianci. Jedyną szansę na zwycięstwo dawały szeroko zakrojone
ataki z zaskoczenia. Dlatego dążono do zautomatyzowania
szyfru z kluczem jednorazowym przy użyciu maszyny szyfrującej. Idealnie, maszyna przyjmowałaby
literę wejściową i stosowała losowe podstawienie,
a wynikiem byłaby litera zaszyfrowana. Jednak wszystkie maszyny
działają na tej samej zasadzie. Zaczynają od początkowej
konfiguracji, zwanej stanem, przyjmują dane wejściowe, przeprowadzają operację i wytwarzają wynik. Operacja przejścia od stanu
początkowego do końcowego zawsze jest przewidywalna
i powtarzalna. Postanowiono produkować
identyczne maszyny, które wytwarzają
pomieszany ciąg podstawień. Powtórzenie tego
trwałoby bardzo długo. Alicja i Bob
mogliby wygenerować identyczny ciąg podstawień
w ten sposób: najpierw musieliby mieć
identyczne maszyny i uzgodnić początkową pozycję, którą określa się mianem
ustawienia kluczowego. Ustawiają maszyny w jednej pozycji i prowadzą identyczne operacje, by uzyskać identyczne
ciągi przestawień. W tamtym okresie
szczytem technologii była wirnikowa maszyna szyfrująca. Wszyscy wiemy,
jak działa licznik kilometrów. Swój cykl powtarza dopiero
po bardzo długim czasie. Wyobraźcie sobie teraz, że mieszamy
cyfry na wirnikach licznika. Przy przejściu do przodu można wygenerować nowe podstawienie,
dodając liczby z wirników. Tak z grubsza działają
wirnikowe maszyny szyfrujące. Np. wiadomość:
„Atak na północnym zachodzie” zostałaby zaszyfrowana tak. Zwróćcie uwagę na nowe podstawienie
w każdej pozycji w wiadomości. Przy trzech wirnikach,
z których każdy ma 26 liczb, długość ciągu, zanim się powtórzy,
wynosi 26 razy 26 razy 26. A to ekwiwalent listy podstawień o 17576 liczbach. Zrozumcie,
że pozycja każdego wirnika odpowiada miejscu w tym ciągu. Początkowy stan maszyny
to tzw. ustawienie kluczowe, a zbiór wszystkich możliwych
ustawień kluczowych określa przestrzeń kluczy. Ta przestrzeń się powiększa, gdy rośnie liczba sposobów
początkowej konfiguracji maszyny. Np., jeśli da się przestawiać wirniki, to kolejność można już wybrać
na sześć sposobów. Przedstawmy wizualnie
przestrzeń kluczy w tym punkcie. Najpierw wybierzmy 1 spośród
sześciu możliwych układów wirników, a potem - pozycję początkową
z ciągu wirników. To daje nam przestrzeń kluczy mającą
ponad 100 000 ustawień kluczowych. Pamiętajcie,
każda konfiguracja maszyny to punkt w tej przestrzeni. Wybierając ustawienie kluczowe, wybieramy punkt początkowy
w tej przestrzeni, który determinuje
resztę ciągu podstawień. Zdradzając komuś ustawienie
kluczowe, zdradzicie cały ciąg. Bezpieczeństwo maszyn wirnikowych zależy od wielkości przestrzeni kluczy i losowości ustawienia kluczowego. W czasie 2. wojny światowej
ważną maszyną szyfrującą używaną przez wojsko niemieckie
była Enigma. Tę elektromechaniczną
maszynę wirnikową wymyślił niemiecki inżynier
pod koniec 1. wojny. Każdy wirnik miał
elektryczne styki po obu stronach, z plątaniną przewodów. Przy każdej pozycji wirnika
tworzyła się elektryczna ścieżka od każdej litery wejściowej
do każdej litery wyjściowej. Gdy wirnik się przesunął, dla każdej litery była definiowana
zupełnie nowa ścieżka. W czasie wojny stale próbowali
zwiększyć przestrzeń kluczy Enigmy, żeby ją wzmocnić. Zmiany obejmowały
np. dodanie czwartego wirnika i zwiększeniu liczby wirników,
które można podłączyć, do 60. To bardzo powiększyło
przestrzeń kluczy. Pod koniec wojny
Enigmę można było ustawić na ponad 150 milionów
milionów milionów sposobów. Odgadnięcie ustawienia kluczowego
użytego do danej wiadomości było tak prawdopodobne jak odgadnięcie
wyniku 26 rzutów kostką. To dało Niemcom przekonanie,
że Alianci, choćby mieli egzemplarz Enigmy, nigdy nie sprawdzą wszystkich
możliwych ustawień kluczowych. Aby dwie strony porozumiewały się
z użyciem Enigmy, musiały najpierw poznać
ustawienia kluczowe na dany dzień. To pozwalało na ustawienie maszyn
w tej samej pozycji. Procedury zmieniały się
wielokrotnie w czasie wojny, ale zawsze z wyprzedzeniem
rozdawano tablice kluczy wszystkim operatorom. Operator co dzień odcinał ustawienia i zyskiwał informację
o konfiguracji maszyn: których użyć wirników
i w jakiej kolejności. Klucz dzienny był
niszczony po wykorzystaniu. Jeden ważny krok
pozostawiano operatorowi. Musiał on wybierać losową pozycję
początkową każdego wirnika, przed rozpoczęciem komunikacji. I niektórzy zmęczeni operatorzy
popełniali bardzo prosty błąd. My też go popełniamy, ustawiając
kombinację blokady rowerowej. Obracamy wirniki tylko o parę pozycji
od stanu początkowego albo używamy
często stosowanego kodu. To zakłócało jednorodny rozkład
początkowych pozycji wirnika. Obserwując to wiele razy, Alianci zdołali przeprowadzić
proces odwrotny. Drugi duży błąd dotyczył projektu,
nie procedur. W Enigmie litera wyjściowa nigdy
nie szyfrowała się w siebie samą. Zatem mając
zaszyfrowaną literę, np. L, eliminowano możliwość,
że L to litera oryginalna. To, co uważali za siłę,
okazało się słabością projektu. Dzięki temu powstała
maszyna dekodująca, zaprojektowana przez Polaków, ulepszona przez Aliantów. „Bombę kryptologiczną” tworzyły
liczne połączone wirniki Enigmy, co pozwalało szybko sprawdzać
różne ustawienia kluczowe. Wykorzystano fakt, że w wiadomości musiały występować
powszechne słowa, np. pogoda. Zyskały nazwę ściąg. Dla danej ściągi, Bomba mogła sprawdzić wszystkie
możliwe pozycje i kolejność wirników, by w ciągu paru minut
odnaleźć możliwe ustawienia kluczowe. Alianci mogli już odczytywać niemieckie
rozkazy parę godzin od ich wydania. Był to cios w strategię
bojową hitlerowców, bo Alianci przewidywali
ich kolejne ruchy. Jedno jest pewne:
pierwsza próba zautomatyzowania szyfru z kluczem jednorazowym
nie powiodła się. Gdyby operatorzy
zamiast tego rzucali kostką, by ustalić początkowe
pozycje wirników, punkty początkowe ciągu
mogłyby mieć równy rozkład. A to uniemożliwiłoby
odwrócenie procesu. Ponadto, gdyby Enigma pozwalała,
by litery szyfrowały się w siebie, to Bomba nie mogłaby
wykorzystać ściąg. Alianci musieliby sprawdzać
całą przestrzeń kluczy, co było niewykonalne nawet
przy użyciu najszybszego komputera. Powtórzenie zmniejszyło
przestrzeń kluczy. Bez tej sprawy 2. wojna światowa
mogłaby się skończyć zupełnie inaczej.