1.2 Kryptoanaliza czyli po co komu tutaj liczby losowe
Kryptoanaliza jest dziedziną wprost przeciwną kryptografii — zajmuje się dekodowaniem zaszyfrowanych informacji. Narzędziem, które stosuje do tego celu jest statystyka. Dla przykładu wspomniany wcześniej kod faraona (1.1) można dość prosto łamać za pomocą analizy częstości występowania liter w alfabecie języka szyfrogramu. Poszukując najczęściej powtarzające się liczby i porównu-
litera |
% |
litera |
% |
litera |
% |
A |
8.04 |
J |
0.16 |
S |
6.54 |
B |
1.54 |
K |
0.67 |
T |
9.25 |
C |
3.06 |
L |
4.14 |
U |
2.71 |
D |
3.99 |
M |
2.53 |
V |
0.99 |
E |
12.51 |
N |
7.09 |
w |
1.92 |
F |
2.3 |
O |
7.6 |
X |
0.19 |
G |
1.96 |
P |
2 |
Y |
1.73 |
H |
5.49 |
Q |
0.11 |
Z |
0.09 |
I |
7.26 |
R |
6.12 |
Tabela 1. Częstość wstępowania liter w języku angielskim za [1]
jąc je z tabelą taką jak (1) możemy znaleźć metodę podstawiania dla danego szyfru. Sytuację trochę poprawia kodowanie bloków liter (tak jak to ma miejsce w algorytmie fairplay1) jednak dalej jest to metoda podatna na kryptoanalizę. Z tego prostego przykładu widać, że dobrym szyfrogramem2 jest taki w którym nie można stwierdzić żadnej korelacji między tekstem jawnym, a jego zakodowaną formą (dodatkowym wymogiem jest brak zależności między szyfrogramami różnych tekstów), a cóż jest mniej skorelowane niż liczby losowe? Stąd też ich wszechobecność w algorytmach kryptograficznych.
Czytelnikowi należy się jeszcze wytłumaczenie czym jest liczba losowa. Otóż czy liczba jest losową czy nie decyduje to skąd ona się wzięła np. o liczbie 100 nie możemy powiedzieć, iż jest losową chyba, że mamy do czynienia z 256 kartkami ponumerowanymi od 0 do 255 znajdującymi się w urnie. Jeśli wyciągając na „chybił-trafił” jedną z nich otrzymujemy kartkę o numerze 100 to jej numer jest liczbą losową otrzymaną z prawdopodobieństwem 1/256.
Przydatność liczb losowych w kryptografii można sprowadzić praktycznie do trzech działań:
— ze skończonego zbioru n-elementowego wybrać losowo jeden element,
— ze wszystkich ciągów m-elementowych zawierających się w zbiorze o n elementach wybrać losowo jeden z nich,
— wygenerować losowo ciąg o długości m składający się z n-elementowego zbio-ru,
Metoda stosowana podczas I wojny światowej
Zaszyfrowana informacja.