ENIGMA to seria skrytek poświęcona kryptologii, szyfrom i ludziom, którzy w ciszy zakurzonych pokojów wygrywali wojny z pomocą talentu, inteligencji i ołówków. Nie mam na myśli upamiętnienia jedynie polskich kryptologów, którzy złamali szyfr ENIGMY, chociaż bez wątpienia było to wyjątkowe osiągnięcie. Jeśli jednak zwycięstwo w II wojnie światowej alianci zawdzięczali w dużej mierze informacjom ze źródła ULTRA, to warto wspomnieć, że złamanie sowieckich szyfrów w 1919 roku miało jeszcze większy wpływ na zwycięstwo w wojnie 1920 roku.
Kryptologią zajmowali się najwięksi polscy matematycy, w tym jeden twórców słynnej warszawskiej szkoły matematycznej, Wacław Sierpiński a także Stefan Mazurkiewicz i Stanisław Leśniewski (zaliczani do przedstawicieli tej właśnie szkoły). Wszyscy oni byli w dwudziestoleciu międzywojennym zaangażowani w prace II Oddziału Sztabu Generalnego Wojska Polskiego, podobnie jak Marian Rejewski, Henryk Zygalski i Jerzy Różycki, którzy odkryli tajemnicę niemieckiej maszyny szyfrującej. W 1919 r. sowieckie szyfry złamał Jan Kowalewski, oficer wojska polskiego a jednocześnie matematyk i lingwista.
A że na Polakach świat się nie kończy wspomnijmy jeszcze przynajmniej genialnego Alana Turinga i fakt, że pierwszy cyfrowy komputer na świecie powstał w Bletchley Park a jego zadaniem było łamanie niemieckich szyfrów maszyny Lorentza.
Tego rodzaju skrytka nie może obejść się bez szyfru, jest to więc skrytka dla wytrwałych i zdeterminowanych. Z drugiej strony ilość dostarczonych informacji jest z całą pewnością wystarczająca, by z szyfrem mógł sobie poradzić praktycznie każdy, kto tylko będzie chciał poświęcić temu celowi odrobinę czasu i wysiłku.
To jedyny opis skrytki, zawierający wyjaśnienia, dotyczące metody szyfrowania za pomocą jednorazowego klucza. Metoda ta może okazać się przydatna w przypadku niektórych spośród pozostałych skytek serii.
1. TEKST JAWNY
Zaszyfrowane informacje to trzy ostatnie cyfry współrzędnych (długości i szerokości geograficznej) – razem sześć cyfr.
Cyfry podano w formie słownej, oczywiście bez dzielących słowa spacji i pominięciem polskich znaków.
Przykład:
JEDENDWATRZY itd.
Cyfry podano w odpowiedniej kolejności:
Przykład:
JEDENDWATRZYCZTERYPIECSZESC oznacza N 52 12.JEDEN DWA TRZY (123) oraz E 20 55.CZTERY PIĘĆ SZEŚĆ (456).
Oczywiście wartości 52.12 i 20.55 są prawidłowe.
2. SZYFROWANIE TEKSTU JAWNEGO
Wykorzystamy tu prostą ale zdecydowanie skuteczną metodę szyfrowania z wykorzystaniem jednorazowego klucza (one-time-pad). Klucz będzie miał taką samą długość jak szyfrowany tekst.
Na początku należy przyporządkować literom wartości liczbowe (dla uproszczenia zastosujemy tu najbardziej oczywistą wersję takiego przyporządkowania (oczywiście pomijamy polskie znaki):
A(00) B(01) C(02) D(03) E(04) F(05) G(06) H(07) I(08) J(09) K(10) L(11) M(12) N(13) O(14) P(15) Q(16) R(17) S(18) T(19) U(20) V(21) W(22) X(23) Y(24) Z(25)
Po prostu numerujemy litery od 00 do 25 (lepiej robić to w tabeli).
Następnie posługujemy się wartościami liczbowymi liter do zapisania tekstu jawnego.
JEDENDWATRZYCZTERY
J (09) E(04) D(03) E(04) N(13) D(03) W(22) A(00) T(19) R(17) Z(25) Y(24) C(02) Z(25) T(19) E(04) R(17) Y(24)
(Ponownie, tabela byłaby bardziej klarowna.)
Do zaszyfrowania tekstu potrzebny nam będzie klucz. Może być to dowolny tekst (albo losowy ciąg liter, liczb) o takiej samej długości jak tekst szyfrowany. Posłużmy się dla przykładu pierwszym zdaniem Rękopisu znalezionego w Saragossie Jana Potockiego (wystarczy nam jego część).
Jako oficer wojsk francuskich uczestniczyłem w oblężeniu Saragossy.
Ponownie musimy zastąpić litery ich wartościami liczbowymi.
JAKOOFICERWOJSKFRA
J(09) A(00) K(10) O(14) O(14) F(05) I(08) C(02) E(04) R(17) W(22)
O(14) J(09) S(18) K(10) F(05) R(17) A(00)
W ten sposób uzyskaliśmy dwa ciągi liczb: tekst jawny i klucz.
09 04 03 04 13 03 22 00 19 17 25 24 02 25 19 04 17 24
09 00 10 14 14 05 08 02 04 17 22 14 09 18 10 05 17 00
Teraz dodajemy do siebie kolejne wartości (wartości liter tekstu jawnego i klucza), uzyskując po kolei sumy (w najniższym wierszu):
09 04 03 04 13 03 22 00 19 17 25 24 02 25 19 04 17 24
09 00 10 14 14 05 08 02 04 17 22 14 09 18 10 05 17 00
18 04 13 18 27 08 30 02 23 34 47 38 11 43 29 09 34 24
Niestety to nie koniec pracy. Problem w tym, że mamy zamiar powrócić do liter a w naszych rachunkach powiły się liczby większe niż 25 (pamiętamy, że literę A oznaczyliśmy jako 00, tak więc największą liczbą, która daje się zamienić na literę jest 25). Oczywiście, jest na to sposób, który zazwyczaj stosuje się od razu podczas sumowania. Jeśli suma przekracza 25 odejmujemy od niej 26 i jako wynik zapisujemy tylko resztę (modulo 26 - nie trzeba zapamiętywać tej nazwy).
W rezultacie nasz zaszyfrowany tekst będzie wyglądał tak jak w kolejnej tabeli (ponownie patrzymy na najniższy wiersz).
09 04 03 04 13 03 22 00 19 17 25 24 02 25 19 04 17 24
09 00 10 14 14 05 08 02 04 17 22 14 09 18 10 05 17 00
18 04 13 18 01 08 04 02 23 08 21 12 11 17 03 09 08 24
Teraz nie pozostaje już nic innego jak zamienić liczby na litery.
18(S) 04(E) 13(N) 18(S) 01(B) 08(I) 04(E) 02(C) 23(X) 08 (I) 21(V)
12(M) 11(L) 17(R) 03(D) 09(J) 08(I) 24(Y)
Wreszcie na koniec zapisujemy zaszyfrowany tekst w postaci eleganckich czteroznakowych bloków a ponieważ 27 (liczba znaków w naszym tekście) nie dzieli się przez cztery uzupełnimy ostatni blok dodając litery pozbawione znaczenia (takie litery można wprowadzać co jakiś czas również po to by utrudnić odszyfrowanie tekstu).
SENS BIEC XIVM LRDJ IYRH
(Oczywiście fakt że w pierwsze dwa bloki utworzyły słowa to czysty przypadek.)
3. ODSZYFROWANIE TEKSTU
Odszyfrowywanie jest oczywiście procesem odwrotnym do szyfrowania. Musimy dysponować zaszyfrowanym tekstem i kluczem.
Najpierw przekładamy zaszyfrowany tekst na wartości liczbowe.
S(18) E(04) N(13) S(18) B(01) I(08) E(04) C(02) X(23) I(08) V(21)
M(12) L(11) R(17) D(03) J(09) I(08) Y(24) R(17) H(07)
Następnie to samo robimy z kluczem.
J(09) A(00) K(10) O(14) O(14) F(05) I(08) C(02) E(04) R(17) W(22)
O(14) J(09) S(18) K(10) F(05) R(17) A(00) N(13) C(02)
Zestawiamy oba ciągi wartości i odejmujemy od liczb pochodzących z zaszyfrowanego tekstu liczby pochodzące z klucza.
18 04 13 18 01 08 04 02 23 08 21 12 11 17 03 09 08 24 17 07
09 00 10 14 14 05 08 02 04 17 22 14 09 18 10 05 17 00 13 02
09 04 03 04 -13 03 -4 00 19 -9 -1 -2 02 -1 -7 04 -9 24 04 05
Oczywiście i tu potrzebujemy pewnego triku (odejmowania modulo 26) bo w niektórych miejscach otrzymaliśmy liczby ujemne a oczywiście nie istnieje nic takiego jak ujemna litera. Ilekroć mamy do czynienia z taką sytuacją dodajemy do wyniku liczbę 26 (pamiętamy że dwa minusy dają plus).
18 04 13 18 01 08 04 02 23 08 21 12 11 17 03 09 08 24 17 07
09 00 10 14 14 05 08 02 04 17 22 14 09 18 10 05 17 00 13 02
09 04 03 04 13 03 22 00 19 17 25 24 02 25 19 04 17 24 04 05
W ten sposób uzyskaliśmy ciąg liczb które możemy już zamienić na litery.
09(J) 04(E) 03(D) 04(E) 13(N) 03(D) 22(W) 00(A) 19(T) 17(R) 25(Z)
24(Y) 02(C) 25(Z) 19(T) 04(E) 17(R) 24(Y) 04(E) 05(F)
4. SKRYTKA
Skoro znacie już metodę szyfrowania do odnalezienia skrytki wystarczy klucz. Jest to jedyna skrytka, w przypadku której zdobycie klucza do szyfru nie przedstawia większej trudności.
Kluczem jest - podany już wcześniej - następujący ciąg liter:
LIIH ZVRX NQHR AWMB CKNK RDHE FNNC PPVC LTOD TKPA DVEB EBOV VGVV
Po znalezieniu skrytki można dodać w swoim profilu jej logo (znajduje się na końcu opisu).
IN ENGLISH
Given coordinates do not lead to the cache. To find it you will have to decrypt coordinates. To open the container you will have to find the key. Hint how to find the key is encrypted too.
This is encrypted text:
EEWM NPIQ UHLV OJQT KHSY LUAL JXRA JCYG CMVH PSCD RRQB KOSO DILM
ENIGMA cache series is a tribute to cryptology and great men who fought battles in dusty rooms and whose only weapons were talent, intelligence and pencils. It is not only a tribute to famous Polish cryptologists who broke the ENIGMA cipher though this was undoubtedly exceptional achievement. But if we remember that source ULTRA was of great importance for Allied in the II World War we should mention that breaking Soviet ciphers had even greater significance for one of most important battles in past century – The Battle of Warsaw in 1920.
The greatest Polish mathematicians dealt with cryptology among others Wacław Sierpiński (one of founders of Warsaw School of Mathematics) Stefan Mazurkiewicz and Stanisław Leśniewski (noble members of the School). All of them took part in work of II Department of Polish General Staff responsible for code breaking just as Marian Rejewski Henryk Zygalski and Jerzy Różycki who broke German ENIGMA. The Soviet ciphers were broken in 1919 by Jan Kowalewski the officer of Polish Army mathematician and linguist at the same time.
It is a must to remember of famous Alan Turing’s achievements in cryptanalysis and fact that the first electronic computer was built in Bletchley Park to break German Lorentz ciphers.
This cache simply must include some cipher and code breaking so it is a task for patient and determined ones. From the other hand I will provide sufficient amount of information to make anyone able to broke the cipher and find the cache.
This is the only description where I explain the method called "one time pad". It may be useful when trying some other caches of the series.
1. THE PLAINTEXT
The information encoded are three last digits of each of two coordinates (N and E) – that makes obviously six digits together.
The digits are written as words without spaces and in English language:
ONETWOTHREE etc.
The digits are given in right order:
ONETWOTHREEFOURFIVESIX means N 52 12.ONE TWO THREE (123) and E 20 55.FOUR FIVE SIX (456).
The 52 12. and 20 55. are right of course.
2. ENCRYPTING THE TEXT
We will apply here simple but very effective method of encryption using the key. The key is of the same length that the text itself.
We start with replacing letters of the plain text by numbers using very simple rule.
A(00) B(01) C(02) D(03) E(04) F(05) G(06) H(07) I(08) J(09) K(10) L(11) M(12) N(13) O(14) P(15) Q(16) R(17) S(18) T(19) U(20) V(21) W(22) X(23) Y(24) Z(25)
(The table would be much better.)
Having this done we will receive a series of numbers given below.
ONETWOTHREEFOUR
O(14) N(13) E(04) T(19) W(22) O(14) T(19) H(07) R(17) E(04) E(04)
F(05) O(14) U(20) R(17)
To encrypt the text we will need a key. We can use any text or random string of letters (or digits) of the proper length.
Let us use here the first sentence of The Catcher in the Ray by J.D. Salinger.
If you really want to hear about it the first thing you'll probably want to know is where I was born….
As a matter of fact it is very long sentence. First four words will be enough for us. As it was done with the plain text we have to replace letters by numbers in the key
I(08) F(05) Y(24) O(14) U(20) R(17) E(04) A(00) L(11) L(11) Y(24) W(22) A(00) N(13) T(19)
Now we have two series of numbers: the plain text and the key. The next step is to add them.
14 13 04 19 22 14 19 07 17 04 04 05 14 20 17
08 05 24 14 20 17 04 00 11 11 24 22 00 13 19
22 18 28 33 42 31 23 07 28 15 28 27 14 33 36
As you see in some places we received numbers greater that 25 and as we replace letter A with 00 we can only use numbers up to 25 if we want to get back to letters in encrypted text. There is some mathematical trick that solves this problem (modular arithmetic – you do not have to remember that): when the sum is greater than 26 just subtract 26 from the sum and write only the rest (modulo 26).
14 13 04 19 22 14 19 07 17 04 04 05 14 20 17
08 05 24 14 20 17 04 00 11 11 24 22 00 13 19
22 18 02 07 16 05 23 07 02 15 02 01 14 07 10
Now we can easily replace numbers by letters.
22(W) 18 (S) 02(C) 07(H) 16(Q) 05(F) 23(X) 07(H) 02(C) 15(P) 02(C)
01(B) 14(O) 07(H) 10(K)
This is our encrypted text formed in fine four-sign blocks (with one added non significant letter at the end of the last block).
WSCH QFXH CPCB OHKH
3. DECRPYPTING THE TEXT
To decrypt the text we have to reverse the procedure.
First thing is to replace letters in encrypted text with numbers.
W(22) S(18) C(02) H(07) Q(16) F(05) X(23) H(07) C(02) P(15) C(02)
B(01) O(14) H(07) K(10) H(07)
As we have to use the key in the same form replacing letters with numbers in the key is the next step.
I(08) F(05) Y(24) O(14) U(20) R(17) E(04) A(00) L(11) L(11) Y(24) W(22) A(00) N(13) T(19) T(19)
Now we have to subtract the numbers in the key from the numbers in the encrypted text.
22 18 02 07 16 05 23 07 02 15 02 01 14 07 10 07
08 05 24 14 20 17 04 00 11 11 24 22 00 13 19 19
14 13 -22 -7 -4 -12 19 07 -9 04 -22 -21 14 -6 -9 -12
As you see in some cases we received negative numbers so we need some trick because finally we want to have letters and there is no such a thing as negative letter. So wherever we meet negative number we add 26 to it (modular arithmetic again).
22 18 02 07 16 05 23 07 02 15 02 01 14 07 10 07
08 05 24 14 20 17 04 00 11 11 24 22 00 13 19 19
14 13 04 19 22 14 19 07 17 04 04 05 14 20 17 14
It is time to replace numbers with letters and we have our plain text again.
14(O) 13(N) 04(E) 19(T) 22(W) 14(O) 19(T) 07(H) 17(R) 04(E) 04(E) 05(F) 14(O) 20(U) 17(R) 14(O)
4. THE CACHE
When you know how to decrypt text you need only the key. It is the only one cache where finding key is really easy.
The key is - given before - the string of letters:
LIIH ZVRX NQHR AWMB CKNK RDHE FNNC PPVC LTOD TKPA DVEB EBOV VGVV
After finding the cache you can add its logo in your profile (see end of the description).
ENIGMA012013