Zapraszam do tego materiału jeżeli chcesz dowiedzieć się jak działała niemiecka maszyna szyfrująca Enigma lub jeżeli chcesz wzbogacić treść materiału swoją wypowiedzią. Enigmę można określić jako sprzętowy, elektromechaniczny szyfrator, który wykorzystywany był także w okresie II wojny światowej. Operator wpisywał tekst jawny na klawiaturze widocznej na zdjęciu poniżej (dolna część Enigmy przypominająca maszynę do pisania). Do każdej kolejnej litery Enigma przypisywała literę szyfrogramu, poprzez podanie zasilania na żarówkę pod okienkiem z symbolem litery (nad klawiaturą). Operator podczas szyfrowania wprowadzał literę na klawiaturze i odczytywał odpowiadającą podświetloną literę w polach nad klawiaturą. Odszyfrowanie polegało na wpisywaniu szyfrogramu na klawiaturze, natomiast kolejne litery tekstu jawnego były podświetlane żarówkami. Enigma nadawcy i odbiorcy musiała być skonfigurowana w taki sam sposób (mieć taki sam stan początkowy) aby szyfrogram udało się przekształcić w tekst jawny.
Konstrukcja Enigmy była rozwijana na przestrzeni lat, w materiale jako przykład wykorzystamy wersję z trzema wirnikami i łącznicą kablową. W zbiorach ABW znajdziecie zdjęcia innych maszyn szyfrujących i oryginalnej Enigmy I z trzema wirnikami.
Zapraszam do eksperymentu myślowego, czy byłby możliwy atak brute-force na Enigmę gdybyśmy mieli możliwość przeniesienia się w czasie i zabrania ze sobą np. Raspberry Pi 5?
Spójrzmy na replikę Enigmy, u góry trzy wirniki i okienka z ustawioną konfiguracją początkową, poniżej podświetlane litery pod którymi Enigma uruchamiała świecenie odpowiedniej żarówki, w dolnej części klawiatura do wprowadzania liter a na samym dole przełącznica kablowa.
Nad podświetlanymi literami widoczne są trzy wirniki, każdy z wirników posiadał naniesione 26 liter i można było ustawić go w jednym z 26 położeń. Wirniki odgrywały bardzo istotną rolę w konstrukcji Enigmy. Styki na bokach wirników nie były połączone "na wprost" pozycje kolejnych liter były przenoszone na inne pozycje po drugiej stronie wirnika, dzięki temu litery były zamieniane na inne. Po jednej stronie wirnika znajdują się płaskie styki a po drugiej sprężynujące piny, to zapewnia przepływ prądu przez połączenia tworzone między wirnikami.
Działanie maszyny było następujące:
START
przycisk z literą:
-przyciskamy klawisz z literą np. "A" sygnał elektryczny trafia do styku odpowiadającego literze "A" i przekazywany jest na skrajny prawy wirnik
wirniki:
-prawy wirnik tak jak pozostałe został ustawiony w wybranym przez nas położeniu, dodatkowo w wirniku kolejność połączeń między stykami z prawej nie odpowiadają 1:1 kolejności połączeń do styków z lewej
-w zależności od położenia wirnika i wewnętrznych połączeń sygnał ze styku "A" po prawej stronie prawego wirnika trafia na styk na pozycji odpowiadający innej literze np. "B" po lewej stronie wirnika
-sygnał z pozycji litery "B" trafia na środkowy wirnik i w zależności od jego położenia (i wewnętrzne połączenia) trafia na położenie związane z inną literą np. "J"
-sygnał z pozycji litery "J" trafia na lewy wirnik i w zależności od jego położenia (i wewnętrzne połączenia) trafia na położenie związane z inną literą np. "Z"
reflektor:
-sygnał trafia na tzw. reflektor, który zawraca sygnał na położenie innej litery i przykładowo sygnał przychodzi z położenia "Z" a wraca położeniem "T" ponownie na wirnik lewy
odwrotne przejście przez wirniki:
-sygnał z nieruchomego reflektora trafia na wirniki w odwrotnej kolejności: lewy-środkowy-prawy i np. z pozycji "T" na reflektorze pojawia się na pozycji "F" na prawych stykach prawego wirnika.
podanie zasilania do odpowiedniej żarówki:
-sygnał z pozycji "F" trafia do żarówki podświetlającej literę "F" (sygnał wejściowy z litery "A" nie uruchamia podświetlenia tej litery gdyż wciśnięty klawisz rozłącza obwód żarówki dla litery wejściowej)
łącznica kablowa:
-na przodzie Enigmy znajduje się przełącznica, która dodatkowo zamienia litery, dla ułatwienia analizujemy przypadek gdzie nie zostały włożone przewody zamieniające, gdyby np. został włożony przewód zamieniający "F" z "T" to wynikiem byłoby "T".
Ścieżka sygnału wyglądała tak:
litera z klawiatury->łącznica kablowa->pozycja litery na nieruchomym styku->wirniki->reflektor->wirniki w drugą stronę->nieruchomy styk odpowiadający literze->łącznica kablowa->lampka podświetlająca literę
KONIEC
Co uzyskaliśmy?
Przy określonych ustawieniach maszyny litera "A" została zamieniona na "F", wygląda to na prosty monoalfabetyczny szyfr podstawieniowy, ale... tak nie jest, wirniki obracają się przy wprowadzanych kolejnych literach, więc każda kolejna litera zamieniana jest na podstawie innych wzajemnych ustawień wirników. Uzyskujemy szyfr polialfabetyczny.
W uproszczeniu wirniki obracają się podobnie jak w analogowym liczniku kilometrów lub liczydle indukcyjnego licznika energii elektrycznej. Po pełnym obrocie prawego wirnika przesuwa się o jedno położenie wirnik środkowy. Po pełnym obrocie wirnika środkowego obraca się o jedno położenie wirnik lewy. Pomijam tutaj występujący czasami podwójny przeskok wirnika oraz momenty przesunięć wirników inne niż w mechanicznych licznikach (przejście z 9 na 0), a także późniejsze komplikacje wprowadzane przez projektantów Enigmy. Ważne aby pamiętać o początkowej konfiguracji położeń wirników oraz przełącznicy zamieniającej litery, to początkowe ustawienie stanowi klucz wykorzystywany przez maszynę. Każda kolejna wprowadzona litera zmienia ustawienie wirników, a co za tym idzie inny sposób zamiany litery wprowadzonej na klawiaturze na literę podświetloną powyżej.
Przełącznica wykorzystywana jest dwukrotnie:
-zamienia literę przychodzącą z klawiatury
-zamienia literę wychodzącą z wirników
Stan przełącznicy nie zmienia się (w przeciwieństwie do stanu wirników) podczas wprowadzania kolejnych liter.
Procedura szyfrowania i deszyfrowania jest taka sama. Enigma zawsze zamienia wprowadzoną literę na inną.
Wybór wirników i ich kolejności też jest elementem klucza szyfru
Trzy wirniki wybieraliśmy z zestawu pięciu wirników, każdy z nich miał inne wewnętrzne połączenia mieszające litery.
Kolejność umieszczenia wirników w Enigmie również jest elementem klucza (początkowego ustawienia maszyny)
Podsumowując na stan początkowy składa się:
-wybór wirników
-kolejność umieszczenia wybranych wirników
-położenie początkowe wirników
-przewody umieszczone w przełącznicy zamieniającej litery
Jak ulepszano Enigmę?
-Z czasem pojawił się liczniejszy zestaw wirników.
-Pojawił się czwarty nieruchomy podczas szyfrowania wirnik z ustawianym położeniem początkowym (zastosowano cieńsze reflektory i możliwe było umieszczenie czwartego wirnika)
-Pojawiły się różne wersje reflektorów (różne schematy par liter)
-Pojawił się reflektor z konfigurowalnymi parami liter
-Pojawił się 40-sto pozycyjny przełącznik zamiast okablowania przełącznicy kablowej
-Pojawiły się wirniki z pierścieniami, których ustawienie na jeden z 26 sposobów modyfikowało momenty obrotu wirników i przesuwało okablowanie wirnika względem znaczników liter
Atak siłowy na Enigmę z użyciem współczesnego komputera
Załóżmy, że przenosimy się w czasie i zabieramy ze sobą Raspberry Pi 5, smartfon lub zwyczajnie współczesny laptop. Ustawienie początkowe to 3 wirniki po 26 znaków daje to 26x26x26. Trzy zagnieżdżone pętle w Pythonie + funkcja ewaluacji i otrzymujemy wynik szybciej niż czas potrzebny do zatopienia U-Boota
gdyż 26³ daje nam jakieś marne 17576 kombinacji. Po chwili zauważamy, że potrzebny jest jeszcze wybór 3 wirników z 5 i ich ułożenie w dowolnej kolejności czyli 60 możliwych kombinacji. Otrzymujemy 60x26³ co daje już ponad milion kombinacji ale nadal jest to czas pracy współczesnego komputera krótszy niż potrzebny na zestrzelenie Messerschmitta
Oczywiście bardzo upraszamy szacowanie, jednak pokazuje to pewną skalę złożoności problemu. Samo przetestowanie wszystkich ustawień wirników byłoby dla współczesnego komputera bardzo łatwe. Problemem pozostaje rozpoznanie, które z otrzymanych odszyfrowań/ustawień wirników jest poprawne.
Pozostaje nam przełącznica.
Wybieramy przypadek gdzie stosowane było 10 przewodów, obejmujących 20 liter, 6 liter pozostaje bez modyfikacji. Czyli wybieramy 10 liter zamienianych i dla każdej wybieramy literę na jaką będziemy ją zamieniali. Np. łącząc przewodem F z T zamieniamy te dwie litery. I tutaj zaskoczenie, ta niepozorna (wręcz beznadziejnie wyglądająca) przełącznica na froncie Enigmy dodaje ponad 150 bilionów (150 738 274 937 250) kombinacji!
Atak bruteforce nie ma dużego sensu... ale szybki komputer w rękach kryptologów łamiących szyfr Enigmy znacząco przyspieszyłby ich pracę.
Jak szyfr Enigmy został złamany?
Warto wspomnieć o elementach i błędach ułatwiających łamanie szyfru:
-operatorzy wybierali słabe ustawienia początkowe wirników np. AAA, ABC itp.
-w komunikatach często występowały identyczne formaty np. "DO", "POGODA" to zapewniało znany, przewidywalny tekst jawny
-klucz wiadomości przesyłany był podwójnie np. ABCABC to dla operatorów było wygodne jako samo weryfikująca się wiadomość, jednak znacząco ułatwiało analizę szyfrogramów
-Enigma nigdy nie szyfrowała litery na taką samą np. "A"-"A" to zmniejszało przestrzeń złożoności, a wynikało z zastosowania reflektora
Znany lub przewidywalny tekst jawny ułatwiał testowanie pomysłów ataków na szyfrogramy. Przesyłanie powtórzonego ciągu ustawień początkowych dla wirników było błędem, to pozwalało kryptologom na przyjmowanie stałych założeń podczas prób odzyskania położeń wirników. Z punktu widzenia operatora gdy otrzymał klucz wiadomości np. UWE jako ciąg UWEUWE to była to dla niego weryfikacja, że wiadomość została odebrana prawidłowo oraz, że prawidłowo przeprowadził deszyfrowanie. Dla kryptologów był to sygnał, że znaleźli potencjalnie prawidłowe ustawienie początkowe wirników.
Bez kryptoanalizy, nowatorskich rozwiązań i genialnych pomysłów złamanie szyfru Enigmy nie byłoby możliwe.
Polscy kryptolodzy Marian Rejewski, Henryk Zygalski, Jerzy Różycki do łamania szyfru Enigmy podchodzili w bardzo nowatorski sposób. Pracując na modelu matematycznym Enigmy można było dostrzegać słabości szyfru i sposoby ograniczania złożoności operacji. Przykładowo w procesie ustalania położenia początkowego wirników (których stan zmieniał się przy każdej kolejnej literze) warto było początkowo ignorować ustawienia łącznicy kablowej. Ustawienia łącznicy kablowej były stałe w procesie szyfrowania więc można było pracować z symbolicznym opisem a finalnie rozpracować ustawienia przełącznicy aby dojść do tekstu jawnego. To zupełnie inne podejście niż w ataku brute-force gdzie łącznica kablowa wprowadzała ogromne ilości kombinacji do sprawdzenia. Rejewski patrzył na Enigmę jak na kompozycję permutacji wnoszonych przez:
-przełącznicę
-trzy wirniki
-reflektor
-trzy odwrotne permutacje wirników
-ponownie przełącznicę
Przy czym dla wirników występują permutacje cykliczne podczas przekształcania kolejnych liter.
Polscy matematycy rozwijali swoje narzędzia przyspieszające łamanie szyfrów np. Płachty Zygalskiego można potraktować jako obliczenia wstępne, które przyspieszały dalsze powtarzalne prace, fizycznie były one mechanicznym filtrem logicznym, który przepuszczał światło w określonych miejscach. Elektromechaniczny cyklometr dedykowane urządzenie wspomagające tworzenie katalogu kart charakterystyk. Elektro-mechaniczna bomba kryptologiczna była koncepcją mechanicznego/automatycznego szukania ustawień wirników, można powiedzieć że był to specjalizowany mechaniczny akcelerator obliczeń ręcznych. Bomba kryptologiczna działała dla ściśle określonych warunków, dopiero późniejsze lata przyniosły urządzenia programowalne i bardziej elastyczne, przeznaczone do łamania szyfrów innych niż Enigma np. Colossus.
Niemieccy konstruktorzy Enigmy najbardziej obawiali się przechwycenia egzemplarza maszyny szyfrującej, tym czasem szyfr Enigmy został złamany przy pomocy modelu matematycznego i przechwyconych transmisji radiowych. Obecnie w kryptografii nawet pełna znajomość sposobu działania szyfru nie może go kompromitować, tajny klucz i silny szyfr ma zapewniać poufność naszych danych. Na przestrzeni lat pojawiły się szyfry strumieniowe, szyfry blokowe a także kryptografia asymetryczna (z kluczem publicznym i prywatnym). Kryptograficzne funkcje skrótu to element mechanizmów zapewniających integralność przesyłanych informacji a także pozwalający na określenie ich autentyczności.
Co myślicie o maszynie szyfrującej Enigma?
Z jednej strony to prymitywne urządzenie elektromechaniczne, z drugiej strony jest tam zastosowanych wiele ciekawych pomysłów, konstruktorzy popełnili też kilka błędów a operatorzy także osłabiali siłę szyfru Enigmy. Widoczny był wyścig między projektantami Enigmy a matematykami łamiącymi szyfrogramy. Bardzo duże wrażenie zrobił na mnie sposób zbudowania zespołu kryptologów oraz genialne metody kryptoanalizy. Matematyczny opis działania Enigmy i zbudowanie narzędzi przyspieszających łamanie szyfrów, było strzałem w dziesiątkę.
Jak oceniacie spojrzenie na Enigmę oczami elektronika?
Zastanawiam się czy były możliwości przejścia w urządzeniach kryptologicznych do łamania szyfru Enigmy z elektromechaniki na lampy elektronowe?
W Polsce były one produkowane przed II wojną światową
Na elektroda.pl znajdziecie Elektroniczną wersję maszyny szyfrującej Enigma.
Konstrukcja Enigmy była rozwijana na przestrzeni lat, w materiale jako przykład wykorzystamy wersję z trzema wirnikami i łącznicą kablową. W zbiorach ABW znajdziecie zdjęcia innych maszyn szyfrujących i oryginalnej Enigmy I z trzema wirnikami.
Zapraszam do eksperymentu myślowego, czy byłby możliwy atak brute-force na Enigmę gdybyśmy mieli możliwość przeniesienia się w czasie i zabrania ze sobą np. Raspberry Pi 5?
Spójrzmy na replikę Enigmy, u góry trzy wirniki i okienka z ustawioną konfiguracją początkową, poniżej podświetlane litery pod którymi Enigma uruchamiała świecenie odpowiedniej żarówki, w dolnej części klawiatura do wprowadzania liter a na samym dole przełącznica kablowa.
Replika Enigmy z trzema wirnikami.
Nad podświetlanymi literami widoczne są trzy wirniki, każdy z wirników posiadał naniesione 26 liter i można było ustawić go w jednym z 26 położeń. Wirniki odgrywały bardzo istotną rolę w konstrukcji Enigmy. Styki na bokach wirników nie były połączone "na wprost" pozycje kolejnych liter były przenoszone na inne pozycje po drugiej stronie wirnika, dzięki temu litery były zamieniane na inne. Po jednej stronie wirnika znajdują się płaskie styki a po drugiej sprężynujące piny, to zapewnia przepływ prądu przez połączenia tworzone między wirnikami.
Wirnik Enigmy, źródło wikipedia, autor Bob Lord, GNU
Wirnik Enigmy, źródło wikipedia, autor Bob Lord, GNU
Działanie maszyny było następujące:
START
przycisk z literą:
-przyciskamy klawisz z literą np. "A" sygnał elektryczny trafia do styku odpowiadającego literze "A" i przekazywany jest na skrajny prawy wirnik
wirniki:
-prawy wirnik tak jak pozostałe został ustawiony w wybranym przez nas położeniu, dodatkowo w wirniku kolejność połączeń między stykami z prawej nie odpowiadają 1:1 kolejności połączeń do styków z lewej
-w zależności od położenia wirnika i wewnętrznych połączeń sygnał ze styku "A" po prawej stronie prawego wirnika trafia na styk na pozycji odpowiadający innej literze np. "B" po lewej stronie wirnika
-sygnał z pozycji litery "B" trafia na środkowy wirnik i w zależności od jego położenia (i wewnętrzne połączenia) trafia na położenie związane z inną literą np. "J"
-sygnał z pozycji litery "J" trafia na lewy wirnik i w zależności od jego położenia (i wewnętrzne połączenia) trafia na położenie związane z inną literą np. "Z"
reflektor:
-sygnał trafia na tzw. reflektor, który zawraca sygnał na położenie innej litery i przykładowo sygnał przychodzi z położenia "Z" a wraca położeniem "T" ponownie na wirnik lewy
odwrotne przejście przez wirniki:
-sygnał z nieruchomego reflektora trafia na wirniki w odwrotnej kolejności: lewy-środkowy-prawy i np. z pozycji "T" na reflektorze pojawia się na pozycji "F" na prawych stykach prawego wirnika.
podanie zasilania do odpowiedniej żarówki:
-sygnał z pozycji "F" trafia do żarówki podświetlającej literę "F" (sygnał wejściowy z litery "A" nie uruchamia podświetlenia tej litery gdyż wciśnięty klawisz rozłącza obwód żarówki dla litery wejściowej)
łącznica kablowa:
-na przodzie Enigmy znajduje się przełącznica, która dodatkowo zamienia litery, dla ułatwienia analizujemy przypadek gdzie nie zostały włożone przewody zamieniające, gdyby np. został włożony przewód zamieniający "F" z "T" to wynikiem byłoby "T".
Ścieżka sygnału wyglądała tak:
litera z klawiatury->łącznica kablowa->pozycja litery na nieruchomym styku->wirniki->reflektor->wirniki w drugą stronę->nieruchomy styk odpowiadający literze->łącznica kablowa->lampka podświetlająca literę
KONIEC
Łącznica kablowa na przodzie repliki Enigmy
Co uzyskaliśmy?
Przy określonych ustawieniach maszyny litera "A" została zamieniona na "F", wygląda to na prosty monoalfabetyczny szyfr podstawieniowy, ale... tak nie jest, wirniki obracają się przy wprowadzanych kolejnych literach, więc każda kolejna litera zamieniana jest na podstawie innych wzajemnych ustawień wirników. Uzyskujemy szyfr polialfabetyczny.
W uproszczeniu wirniki obracają się podobnie jak w analogowym liczniku kilometrów lub liczydle indukcyjnego licznika energii elektrycznej. Po pełnym obrocie prawego wirnika przesuwa się o jedno położenie wirnik środkowy. Po pełnym obrocie wirnika środkowego obraca się o jedno położenie wirnik lewy. Pomijam tutaj występujący czasami podwójny przeskok wirnika oraz momenty przesunięć wirników inne niż w mechanicznych licznikach (przejście z 9 na 0), a także późniejsze komplikacje wprowadzane przez projektantów Enigmy. Ważne aby pamiętać o początkowej konfiguracji położeń wirników oraz przełącznicy zamieniającej litery, to początkowe ustawienie stanowi klucz wykorzystywany przez maszynę. Każda kolejna wprowadzona litera zmienia ustawienie wirników, a co za tym idzie inny sposób zamiany litery wprowadzonej na klawiaturze na literę podświetloną powyżej.
Przełącznica wykorzystywana jest dwukrotnie:
-zamienia literę przychodzącą z klawiatury
-zamienia literę wychodzącą z wirników
Stan przełącznicy nie zmienia się (w przeciwieństwie do stanu wirników) podczas wprowadzania kolejnych liter.
Procedura szyfrowania i deszyfrowania jest taka sama. Enigma zawsze zamienia wprowadzoną literę na inną.
Wybór wirników i ich kolejności też jest elementem klucza szyfru
Trzy wirniki wybieraliśmy z zestawu pięciu wirników, każdy z nich miał inne wewnętrzne połączenia mieszające litery.
Kolejność umieszczenia wirników w Enigmie również jest elementem klucza (początkowego ustawienia maszyny)
Podsumowując na stan początkowy składa się:
-wybór wirników
-kolejność umieszczenia wybranych wirników
-położenie początkowe wirników
-przewody umieszczone w przełącznicy zamieniającej litery
Jak ulepszano Enigmę?
-Z czasem pojawił się liczniejszy zestaw wirników.
-Pojawił się czwarty nieruchomy podczas szyfrowania wirnik z ustawianym położeniem początkowym (zastosowano cieńsze reflektory i możliwe było umieszczenie czwartego wirnika)
-Pojawiły się różne wersje reflektorów (różne schematy par liter)
-Pojawił się reflektor z konfigurowalnymi parami liter
-Pojawił się 40-sto pozycyjny przełącznik zamiast okablowania przełącznicy kablowej
-Pojawiły się wirniki z pierścieniami, których ustawienie na jeden z 26 sposobów modyfikowało momenty obrotu wirników i przesuwało okablowanie wirnika względem znaczników liter
Atak siłowy na Enigmę z użyciem współczesnego komputera
Załóżmy, że przenosimy się w czasie i zabieramy ze sobą Raspberry Pi 5, smartfon lub zwyczajnie współczesny laptop. Ustawienie początkowe to 3 wirniki po 26 znaków daje to 26x26x26. Trzy zagnieżdżone pętle w Pythonie + funkcja ewaluacji i otrzymujemy wynik szybciej niż czas potrzebny do zatopienia U-Boota
Oczywiście bardzo upraszamy szacowanie, jednak pokazuje to pewną skalę złożoności problemu. Samo przetestowanie wszystkich ustawień wirników byłoby dla współczesnego komputera bardzo łatwe. Problemem pozostaje rozpoznanie, które z otrzymanych odszyfrowań/ustawień wirników jest poprawne.
Pozostaje nam przełącznica.
Wybieramy przypadek gdzie stosowane było 10 przewodów, obejmujących 20 liter, 6 liter pozostaje bez modyfikacji. Czyli wybieramy 10 liter zamienianych i dla każdej wybieramy literę na jaką będziemy ją zamieniali. Np. łącząc przewodem F z T zamieniamy te dwie litery. I tutaj zaskoczenie, ta niepozorna (wręcz beznadziejnie wyglądająca) przełącznica na froncie Enigmy dodaje ponad 150 bilionów (150 738 274 937 250) kombinacji!
Atak bruteforce nie ma dużego sensu... ale szybki komputer w rękach kryptologów łamiących szyfr Enigmy znacząco przyspieszyłby ich pracę.
Jak szyfr Enigmy został złamany?
Warto wspomnieć o elementach i błędach ułatwiających łamanie szyfru:
-operatorzy wybierali słabe ustawienia początkowe wirników np. AAA, ABC itp.
-w komunikatach często występowały identyczne formaty np. "DO", "POGODA" to zapewniało znany, przewidywalny tekst jawny
-klucz wiadomości przesyłany był podwójnie np. ABCABC to dla operatorów było wygodne jako samo weryfikująca się wiadomość, jednak znacząco ułatwiało analizę szyfrogramów
-Enigma nigdy nie szyfrowała litery na taką samą np. "A"-"A" to zmniejszało przestrzeń złożoności, a wynikało z zastosowania reflektora
Znany lub przewidywalny tekst jawny ułatwiał testowanie pomysłów ataków na szyfrogramy. Przesyłanie powtórzonego ciągu ustawień początkowych dla wirników było błędem, to pozwalało kryptologom na przyjmowanie stałych założeń podczas prób odzyskania położeń wirników. Z punktu widzenia operatora gdy otrzymał klucz wiadomości np. UWE jako ciąg UWEUWE to była to dla niego weryfikacja, że wiadomość została odebrana prawidłowo oraz, że prawidłowo przeprowadził deszyfrowanie. Dla kryptologów był to sygnał, że znaleźli potencjalnie prawidłowe ustawienie początkowe wirników.
Bez kryptoanalizy, nowatorskich rozwiązań i genialnych pomysłów złamanie szyfru Enigmy nie byłoby możliwe.
Polscy kryptolodzy Marian Rejewski, Henryk Zygalski, Jerzy Różycki do łamania szyfru Enigmy podchodzili w bardzo nowatorski sposób. Pracując na modelu matematycznym Enigmy można było dostrzegać słabości szyfru i sposoby ograniczania złożoności operacji. Przykładowo w procesie ustalania położenia początkowego wirników (których stan zmieniał się przy każdej kolejnej literze) warto było początkowo ignorować ustawienia łącznicy kablowej. Ustawienia łącznicy kablowej były stałe w procesie szyfrowania więc można było pracować z symbolicznym opisem a finalnie rozpracować ustawienia przełącznicy aby dojść do tekstu jawnego. To zupełnie inne podejście niż w ataku brute-force gdzie łącznica kablowa wprowadzała ogromne ilości kombinacji do sprawdzenia. Rejewski patrzył na Enigmę jak na kompozycję permutacji wnoszonych przez:
-przełącznicę
-trzy wirniki
-reflektor
-trzy odwrotne permutacje wirników
-ponownie przełącznicę
Przy czym dla wirników występują permutacje cykliczne podczas przekształcania kolejnych liter.
Polscy matematycy rozwijali swoje narzędzia przyspieszające łamanie szyfrów np. Płachty Zygalskiego można potraktować jako obliczenia wstępne, które przyspieszały dalsze powtarzalne prace, fizycznie były one mechanicznym filtrem logicznym, który przepuszczał światło w określonych miejscach. Elektromechaniczny cyklometr dedykowane urządzenie wspomagające tworzenie katalogu kart charakterystyk. Elektro-mechaniczna bomba kryptologiczna była koncepcją mechanicznego/automatycznego szukania ustawień wirników, można powiedzieć że był to specjalizowany mechaniczny akcelerator obliczeń ręcznych. Bomba kryptologiczna działała dla ściśle określonych warunków, dopiero późniejsze lata przyniosły urządzenia programowalne i bardziej elastyczne, przeznaczone do łamania szyfrów innych niż Enigma np. Colossus.
Niemieccy konstruktorzy Enigmy najbardziej obawiali się przechwycenia egzemplarza maszyny szyfrującej, tym czasem szyfr Enigmy został złamany przy pomocy modelu matematycznego i przechwyconych transmisji radiowych. Obecnie w kryptografii nawet pełna znajomość sposobu działania szyfru nie może go kompromitować, tajny klucz i silny szyfr ma zapewniać poufność naszych danych. Na przestrzeni lat pojawiły się szyfry strumieniowe, szyfry blokowe a także kryptografia asymetryczna (z kluczem publicznym i prywatnym). Kryptograficzne funkcje skrótu to element mechanizmów zapewniających integralność przesyłanych informacji a także pozwalający na określenie ich autentyczności.
Co myślicie o maszynie szyfrującej Enigma?
Z jednej strony to prymitywne urządzenie elektromechaniczne, z drugiej strony jest tam zastosowanych wiele ciekawych pomysłów, konstruktorzy popełnili też kilka błędów a operatorzy także osłabiali siłę szyfru Enigmy. Widoczny był wyścig między projektantami Enigmy a matematykami łamiącymi szyfrogramy. Bardzo duże wrażenie zrobił na mnie sposób zbudowania zespołu kryptologów oraz genialne metody kryptoanalizy. Matematyczny opis działania Enigmy i zbudowanie narzędzi przyspieszających łamanie szyfrów, było strzałem w dziesiątkę.
Jak oceniacie spojrzenie na Enigmę oczami elektronika?
Zastanawiam się czy były możliwości przejścia w urządzeniach kryptologicznych do łamania szyfru Enigmy z elektromechaniki na lampy elektronowe?
W Polsce były one produkowane przed II wojną światową
Na elektroda.pl znajdziecie Elektroniczną wersję maszyny szyfrującej Enigma.
Enigma z czterema wirnikami, źródło wikipedia, autor Szymon Staniec, CC 4.0
Fajne? Ranking DIY