Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Dalej  

Prezentowane materiały są przeznaczone dla uczniów szkół ponadgimnazjalnych.
Autor artykułu: prof. Tony Sale
Tłumaczenie: mgr Jerzy Wałaszek

©2025 mgr Jerzy Wałaszek
I LO w Tarnowie

https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Enigma-logo.svg/1200px-Enigma-logo.svg.png

Komputery Colossus

Zasada działania maszyny Enigma

SPIS TREŚCI
Podrozdziały

Systemy szyfrów

obrazek
Niemiecka maszyna szyfrująca
ENIGMA
 

We wszystkich systemach szyfrów stosuje się założenie, iż wiadomość została przechwycona. Zatem celem staje się uniemożliwienie lub jak największe utrudnienie czy rozciągnięcie w czasie odszyfrowania wiadomości.

W każdym praktycznym systemie szyfrowania należy również założyć, iż łamacz szyfrów w pewnym momencie odkryje ogólnie stosowane zasady. Bezpieczeństwo wiadomości opiera się na uniemożliwieniu osobie przechwytującej ją odkrycie klucza wiadomości, czyli specyficznych szczegółów opisujących dokładnie sposób konfiguracji systemu szyfrowania przy przesyłaniu tej konkretnej wiadomości.

Najistotniejszą zatem sprawą jest bezpieczny sposób przekazywania klucza wiadomości do zamierzonego odbiorcy.

Jeszcze jedną koniecznością dla użytecznego systemu szyfrowania jest zapewnienie olbrzymiej liczby różnych możliwych kluczy wiadomości, tzn. różnych sposobów konfiguracji systemu przy  szyfrowaniu danej wiadomości. W przeciwnym razie łamacz szyfrów może zastosować siłowe podejście i po prostu przetestować wszystkie możliwości.


do podrozdziału  do strony 

Szyfry podstawieniowe

Szyfry podstawieniowe (z których wywodzi się maszyna Enigma) polegają na zastępowaniu jednej litery inną według określonej reguły.

Najprostszym przykładem jest szyfr Cezara:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W

Przy szyfrowaniu literkę z górnego wiersza zastępujemy literką z wiersza dolnego:

Przykład:

A L F A B E T   A N G I E L S K I
X I C X Y B Q   X K D F B I P H F

Przy rozszyfrowywaniu postępujemy w sposób odwrotny. Literkę szyfrogramu odszukujemy w dolnym wierszu i zastępujemy ją literką z górnego wiersza.

W tym przypadku kluczem wiadomości, który musi znać odbiorca, jest po prostu informacja o przesunięciu liter pomiędzy tymi dwoma alfabetami. Mamy tutaj prosty przykład systemu szyfrowania zawierającego natychmiastową wadę: istnieje jedynie 26 możliwych kluczy (właściwie 25, gdy pominiemy przesunięcie równe 0), zatem każdy może je po prostu wypróbować. (Złam szyfrogram TFQXG T HOVMQLILDFF).

Bardziej skomplikowany system stosuje dla dolnego wiersza ciąg znaków o przypadkowej kolejności.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
I P H B O S F C Q Z J N T W G L M Y R X D K E U V A

Teraz odbiorca musi znać alfabet zastępczy, a kolejność liter w tym alfabecie jest automatycznie kluczem wiadomości.

Przykład:

A L F A B E T   A N G I E L S K I
I N S I P O X   I W F Q O N R J Q

obrazek

Takich alfabetów można utworzyć olbrzymią ilość:

26! = 403291461126605635584000000
dla alfabetu zbudowanego z 26 znaków.

Lecz szyfr wciąż jest łatwy do złamania przy wykorzystaniu ogólnie znanych faktów, jak informacja, iż w języku angielskim najczęściej używaną literą jest E, a najczęściej używanym słowem jest THE itd. Warto zatem zauważyć, iż posiadanie olbrzymiej liczby możliwych kluczy samo w sobie nie zapewnia bezpieczeństwa (ta sama zasada pozwala nam rozwiązywać krzyżówki. Istnieje ogromna liczba możliwych permutacji liter, jednakże większość z nich łatwo eliminujemy ponieważ prowadzą one do powstawania niemożliwych słówek).

W dziewiętnastym wieku wynaleziono różne schematy systemów wieloalfabetowych. Występuje w nich kilka zastępczych alfabetów wykorzystywane cyklicznie lub według jakiejś innej reguły. Klucz wiadomości powinien zatem udostępniać pełny system wykorzystujący te alfabety oraz regułę ich użycia. Jeśli reguła jest prosta, to metody statystyczne wciąż mogą łatwo złamać kod; a problemem przy tworzeniu bardziej złożonych systemów tego typu jest to, iż szyfrowanie wymaga olbrzymiej księgi szyfrów oraz wielu godzin podatnej na błędy pracy.

Z początkiem dwudziestego wieku stało się możliwe przeprowadzanie zamian liter przy wykorzystaniu połączeń elektrycznych w celu zmechanizowania uciążliwej i mozolnej pracy przy przeszukiwaniu tabel szyfrowych. To właśnie doprowadziło do powstania maszyny Enigma.


do podrozdziału  do strony 

Maszyna Enigma

obrazek
Arthur Scherbius
Podstawowy model maszyny Enigma wynalazł Arthur Scherbius w Berlinie w roku 1918. Szyfruje ona wiadomość wykonując kolejno pewną liczbę podmian znaków. Pomysł Scherbiusa polegał na tym, iż cel ten osiągany był za pomocą połączeń elektrycznych.
obrazek
Rys. 1

Rys 1 pokazuje tylko kilka z 26 połączeń przewodami, które dadzą w wyniku efekt podstawienia znaków przedstawiony wcześniej w tym rozdziale. Na przykład od litery Q w górnym wierszu wychodzi przewód do litery M w wierszu dolnym. Napięcie elektryczne przyłożone do końcówki Q w górnym wierszu pojawi się na końcówce M dolnego wiersza.

Zadanie to realizujemy w prosty sposób wykorzystując 26 przełączników (klawiszy), po jednym dla każdej litery alfabetu połączonych jednym końcem z baterią a drugim z końcówkami liter górnego wiersza. Po naciśnięciu klawisza styki przełącznika zostają zwarte i napięcie przedostaje się po przewodzie połączeniowym rozświetlając jedną z żarówek podłączonych do końcówek styków liter w dolnym wierszu. Stąd w przypadku naciśnięcia przycisku połączonego z końcówką Q w górnym wierszu zapali się lampka połączona z końcówką M w dolnym wierszu. Przy tej konfiguracji M jest znakiem podmieniającym znak Q.

Następny pomysł polegał na tym, iż łatwo można stworzyć kaskadowe podstawienia wykonywane jedne po drugich. Dolny wiersz końcówek łączy się po prostu z końcówkami wejściowymi następnego zestawu przewodów, co pokazano na rys.2.

obrazek
Napięcie przyłożone do końcówki M przechodzi do końcówki R w dolnym wierszu.
Zatem okablowanie dało w rezultacie zastąpienie znaku Q znakiem M, a następnie znaku M znakiem R.
Rys. 2

Na tym etapie nie osiągniemy jeszcze żadnych istotnych korzyści, ponieważ równie dobrze moglibyśmy połączyć obie zamiany w jedną, lecz w tym miejscu wkracza starożytne przesunięcie Cezara dostosowane do zastosowań w XX wieku. Załóżmy, iż drugi zestaw okablowania jest przesunięty o dwie litery, jak na rys.3.

obrazek
Rys. 3

Na rys.3 obserwujemy sytuację, gdy podanie napięcia na wejściu Q powoduje zapalenie się lampki na wyjściu L. Każda z możliwych 26 pozycji przesunięcia daje teraz zupełnie inny alfabet podmieniający.


do podrozdziału  do strony 

Zastosowanie bębnów

obrazek
Bęben szyfrujący Enigmy

Oczywiście aby wykorzystać wszystkie 26 kombinacji, okablowanie realizujące podmianę liter powinno być umieszczone wewnątrz obrotowego bębna, a nie w ruchomych pasach, co sugerują nasze ilustracje. Wtedy przesunięcia można otrzymywać przez obroty jednego bębna w stosunku do drugiego.

Zaprojektujmy i wykonajmy to przy pomocy sprężynowych kontaktów pomiędzy bębnami szyfrowymi i gotowe! Oto mamy podstawowy element szyfrujący maszyny Enigma.

W następnym kroku kolejno dodajemy trzeci bęben, ponieważ wtedy względne obroty kątowe bębnów dadzą wzrost do 26 x 26=676 różnych alfabetów podstawieniowych.

Maszyna Enigma była wyposażona w jeszcze jeden zwiększający złożoność szyfru element, który wynalazł Willi Korn, a zwany bębnem odwracającym lub reflektorem.


do podrozdziału  do strony 

Bęben odwracający

Zamiast wykorzystywać wyjścia styków z trzeciego bębna jako szyfr litery wejściowej, wyjścia te podłącza się do stałego bębna odwracającego (w późniejszych modelach Enigmy bęben ten również się obracał zwiększając złożoność szyfru). Zadaniem bębna jest prosta wymiana pary znaków. Sygnał wyjściowy jest z powrotem kierowany do bębnów szyfrujących w odwrotnym kierunku i pojawia się na bębnie wejściowym, lecz na innym styku.

obrazek
  1. Nieruchomy bęben wejściowy
  2. Ruchome trzy bębny szyfrujące
  3. Nieruchomy bęben odwracający

W ten sposób podstawowa maszyna Enigma dokonuje siedmiu kolejnych podstawień: przez trzy bębny, następnie przez bęben odwracający i na koniec przez trzy bębny w kierunku odwrotnym.

Jednym z efektów zwiększenia złożoności jest to, iż teraz otrzymujemy 26 · 26 · 26 = 17576 różnych alfabetów podstawieniowych pochodzących z różnych pozycji bębnów poruszających się względem nieruchomego bębna odwracającego.

Lecz dodanie bębna odwracającego uczyniło maszynę Enigma prostszym systemem kryptologicznym z jednego powodu. Bęben odwracający sprawia, iż staje się ona maszyną odwracalną. Przy pewnym, danym ustawieniu bębnów szyfrujących A jest szyfrowane w C, lecz przy tej samej konfiguracji C zostanie zaszyfrowane w A. Ta wiedza ma bardzo istotne znaczenie praktyczne dla łamacza szyfru.

Następną wadą bębna odwracającego jest to, iż żadnej litery nie można zaszyfrować w nią samą. Tę ostrą słabość kryptograficzną najpierw wykorzystali Polacy, a później ośrodek w Bletchley Park.

Odwracalny system szyfrowania posiada pewną zaletę użytkową: operator nie musiał przełączać maszyny Enigma z trybu szyfrowania na tryb rozszyfrowywania, a to zapobiega nieuniknionym błędom zdarzającym się, gdy od czasu do czasu operator zapomni o takim przełączeniu. Jednakże armia niemiecka zapłaciła bardzo wysoką cenę za tę małą zaletę.


do podrozdziału  do strony 

Zasady szyfrowania w maszynie Enigma

Maszyna Enigma w sposób mechaniczny dokonuje kolejnych podstawień alfabetycznych. W tym podrozdziale skoncentrujemy się jedynie na szyfrowaniu pojedynczej litery.

Zakładamy, iż w maszynie Enigma zamontowano bębny I, II i III. Bęben po prawej stronie jest bębnem szyfrującym nr III. Dodatkowo zakładamy, iż każdy z bębnów ustawiony został na swojej pozycji początkowej A przy rozpoczęciu szyfrowania (przeczytaj jednakże wagę techniczną umieszczoną na końcu podrozdziału). Biorąc pod uwagę informację określającą rzeczywiste połączenia bębnów podane tutaj, otrzymujemy następujące podstawienia liter alfabetu wykonywane przez prawy bęben szyfrujący:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B D F H J L C P R T X V Z N Y E I W G A K M U S Q O

Środkowy bęben dokonuje podstawień:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
A J D K S I R U X B L H W T M C Q G Z N P Y F V O E

A lewy bęben wykonuje następujące podstawienia:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
E K M F L G D Q V Z N T O W Y H X U S P A I B R C J

Załóżmy, iż wejściowym znakiem jest litera G. Prawy bęben zastępuje ją literą C. Środkowy bęben zastępuje C literą D. Lewy bęben zastępuje literę D literą F (kolejne zastąpienia oznaczyliśmy kolorem czerwonym).

Teraz prąd osiąga bęben odwracający, za który przyjmiemy standardowy bęben B, co daje w efekcie:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Y R U H Q S L D P X N G O K M I E B F Z C W V J A T

(Proszę zwrócić uwagę, iż w bębnie odwracającym występuje tylko 13 połączeń, tzn. np. literka A przechodzi w Y i na odwrót, literka Y przechodzi w A)

Zatem bęben odwracający zastąpi znak F znakiem S (zaznaczyliśmy tę operację kolorem czerwonym).

Teraz prąd wróci z powrotem poprzez trzy bębny szyfrujące.

Najpierw trafi do lewego bębna szyfrującego. Tym razem podmiana następuje od styków dolnych do górnych (operację zaznaczyliśmy kolorem zielonym):

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
E K M F L G D Q V Z N T O W Y H X U S P A I B R C J

Następnie do bębna środkowego:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
A J D K S I R U X B L H W T M C Q G Z N P Y F V O E

I na koniec do bębna prawego:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B D F H J L C P R T X V Z N Y E I W G A K M U S Q O

Powstają następujące odstawienia:

Na bębnie lewym S przechodzi w S. Na bębnie środkowym S przechodzi w E. Na bębnie prawym E przechodzi w P. Zatem podsumowując stwierdzamy, iż maszyna Enigma przy tej kolejności i takim ustawieniu bębnów szyfrujących zastąpi wejściową literkę G światełkiem na lampce P.

Przykład:

Proszę sprawdzić, iż przy tym samym ustawieniu bębnów szyfrujących wprowadzenie litery P spowoduje podświetlenie litery G, co jest demonstracją własności odwracalności maszyny Enigma.

Właściwie można sprawdzić, iż w tej pozycji Enigma szyfruje literki wg poniższych podstawień:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
U E J O B T P Z W C N S R K D G V M L F A Q I Y X H

co odpowiada prostej wymianie 13 par liter:

(AU) (BE) (CJ) (DO) (FT) (GP) (HZ) (IW) (KN) (LS) (MR) (QV) (XY)

Z początku może się to wydawać mylące: taka skomplikowana maszyna wykorzystywana jedynie do wymiany liter? Chodzi jednakże o to, iż prawy bęben szyfrujący zostanie obrócony przed zaszyfrowaniem kolejnego znaku, a złożoność maszyny Enigma gwarantuje, iż wynikowa zamiana liter dla każdego kolejnego znaku wiadomości będzie zupełnie inna.

Upewnij się, czy na pewno zrozumiałeś ciąg wykonywanych przez bębny działań zanim przejdziesz do rozdziału opisującego ich ruchy oraz dodatkowe utrudnienia w postaci łącznicy wtyczkowej oraz ustawień pierścieni.

Uwaga:

Obliczenia operacji szyfrujących maszyny Enigma wykonano przy przepływie prądu elektrycznego przez walce ustawione w pozycji AAA. Jednakże Enigmę skonstruowano w ten sposób, iż prawy walec obraca się o jedną pozycję znakową natychmiast po naciśnięciu klawisza z literą wejściową i prąd przepływa przez bębny w tej wynikowej pozycji. Zatem w celu otrzymania pozycji AAA po naciśnięciu klawisza, bębny muszą być ustawione początkowo w pozycji wcześniejszej AAZ.


do podrozdziału  do strony 

Wszystkie zamieszczone w tym opracowaniu materiały zostały umieszczone na serwerze edukacyjnym I LO w Tarnowie za zgodą profesora Tony'ego Sale'a, kustosza muzeum w Bletchley Park.

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2025 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.