108 3. Kryptografa
(b) Wyka* & jeśli N jest liczbą pierwszą f „AA" nie jest jedynym stałym d igram cm, to istnieje dokładnie N stałych digramów,
25. Przechwyciłeś wiadomość
„WUXHVRWZNQR XVUEXUIJHALGQQJ7",
o której wiesz, że została zaszyfrowana za pomocą afiniczncgo przekształ-
cen/a wektorów 841 -literowego alfabetu. Odpowiednikiem liczbowym
digramujest tu liczba x = 29xt + x2, gdzie xt jest odpowiednikiem pierwszej litery digramu, a x2 jest odpowiednikiem drugiej litery digramu (29 liter tego alfabetu ma takie odpowiedniki jak w ćwiczeniu 9). Zatem każdy
blok czterech liter daje wektor f*J: dwie pierwsze litery dają liczbę aś, dwie
następne dają liczbę y. Wiesz także, że ostatnie 12 liter kryptogramu szyfruje podpis „HEADQUARTERS” (dowództwo).
(a) Znajdź macierz rozszyfrowującą i odczytaj wiadomość.
(b) Znajdź macierz szyfrującą i sporządź zaszyfrowaną wiadomość podszywającą się pod dowództwo, o treści „CANCEL LAST ORDER!” (nie wykonuj ostatniego rozkazu!), zakończonej dwiema przerwami i podpisem „HEADQUARTERS” (dowództwo).
26. Ile różnych możliwych afinicznych przekształceń szyfrujących można utworzyć w sytuacji opisanej w ćwiczeniu 25 (digramy w 841-literowym alfabecie)?
27. Ile można utworzyć różnych możliwych afinicznych przekształceń szyfrujących trigramy (wektory o trzech współrzędnych) 26-li terowego alfabetu?
28. Przechwyciłeś wiadomość
,FBRTLWUGAJQINZTHHXTEPHBNXSW”,
o której wiesz, że została zaszyfrowana za pomocą liniowego przekształcenia trigramów 26-literowego alfabetu A-Z z liczbowymi odpowiednikami 0-25. Wiesz, że ostatnie trzy trigramy są podpisem nadawcy „JAMES-BOND”. Znajdź macierz rozszyfrowującą i odczytaj wiadomość.
Bibliografia
1. HiD L. S.: Cooceming certain iincar iransformalion apparatus of cryplography. American Math. Monthly, 1931, 38, s. 135-154.
2. Kahn D.: The Codebreakers, the Story of Secret Wrlting. Macmillan 1967.
3. Rosen K. H.: Elemeniary Number Theory and Its Applications. Wyd. 3, Addison-Wesley 1993.
4.1. Idea systemów z kluczem publicznym
Przypomnijmy, że system kryptograficzny jest to wzajemnie jednoznaczne przekształcenie szyfrujące / ze zbioru 9 wszystkich możliwych jednostek tekstu jawnego do zbioru wszystkich możliwych jednostek tekstu zaszyfrowanego. Faktycznie określenie „system kryptograficzny” częściej odnosi się do całej rodziny takich przekształceń, zależnych od wyboru parametrów (zbiory 9 i # oraz przekształcenie / mogą zależeć od wartości tych parametrów). Na przykład dla ustalonego ^-literowego alfabetu (z odpowiednikami liczbowymi ustalonymi raz na zawsze) możemy rozważać afiniczny system kryptograficzny (czy raczej „rodzinę systemów”), który dla ustalonych A€(Z/JVZ)* i b e ZjNZ jest przekształceniem ze zbioru 9 = L\NL w zbiór # = Z/NI, określonym za pomocą wzoru C s aP + b (mod N). W tym przykładzie zbiory 9 i # są ustalone (gdyż N jest ustalone), ale przekształcenie szyfrujące / zależy od wyboru parametrów a i b. Przekształcenie szyfrujące może być zatem opisane przez (i) algorytm, który jest taki sam dla całej rodziny, i (ii) wartości parametrów. Wartości parametrów nazywamy kluczem szyfrującym Kjp; W naszym przykładzie KB jest parą (a, b). W praktyce będziemy zakładać, że algorytm szyfrujący jest powszechnie znany, tzn. że ogólna metoda szyfrowania nie może być utrzymana w tajemnicy. Jednakże klucze łatwo mogą być często zmieniane i, jeśli zechcemy, mogą być trzymane w tajemnicy.
Potrzebujemy również algorytmu i klucza do rozszyfrowywania, tzn. obliczania wartości f~l. Ten klucz nazywamy kluczem rozszyfrowującym (lub deszyfrującym) Kj®. W naszym przykładzie rodziny afinicznych systemów kryptograficznych rozszyfrowywanie odbywa się również za pomocą przekształcenia afinicznego, mianowicie P = a~lC - a~lb (mod N), a więc przy rozszyfrowywaniu korzysta się z tego samego algorytmu, co przy szyfrowaniu, z tym tylko, że klucz jest inny; jest nim para (a~\ -a~lb). (W niektórych systemach kryptograficznych nie tylko klucz, ale także algorytm rozszyfrowu-
11 Skrót Kk pochodzi od stów enciphering key - Iducz szyfrujący (przyp. tłum.).
,,ł Skrót Ku pochodzi od stów deciphering key - klucz rozszyfrowujący (przyp. dum.).