If you're seeing this message, it means we're having trouble loading external resources on our website.

Jeżeli jesteś za filtrem sieci web, prosimy, upewnij się, że domeny *.kastatic.org i *.kasandbox.org są odblokowane.

Główna zawartość

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?

Rozumiesz angielski? Kliknij tutaj, aby zobaczyć więcej dyskusji na angielskiej wersji strony Khan Academy.

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.