Złodziej z oscyloskopem

Współczesna kryptoanaliza skupia się nie tylko na testowaniu algorytmów, ale też w równej mierze na testowaniu ich konkretnych implementacji.

Współczesna kryptoanaliza skupia się nie tylko na testowaniu algorytmów, ale też w równej mierze na testowaniu ich konkretnych implementacji.

Cywilna kryptoanaliza, czyli sztuka łamania szyfrów, to dziedzina w sumie młoda. W przeciwieństwie do wojskowej, oczywiście. Gdy w latach 90. cywilni badacze opublikowali pierwszy artykuł o tzw. kryptoanalizie różnicowej, okazało się, że amerykańskie służby specjalne znały tę technikę od co najmniej... dwudziestu lat.

Od tamtej pory sytuacja zmieniła się radykalnie. Zarówno kryptografia, jak i kryptoanaliza stały się podobne do każdej innej dziedziny nauki - dziedziny te wykłada się na cywilnych uniwersytetach, a naukowcy swobodnie publikują teksty opisujące ataki na systemy szyfrowania na poziomie, który jeszcze niedawno kwalifikowałby je do natychmiastowego utajnienia.

Ośrodki wojskowe nadal prowadzą intensywne badania nad technikami szyfrowania i łamania szyfrów, jednak poziom tych nauk w wydaniu cywilnym nie pozostaje obecnie daleko w tyle. Znakiem czasu jest niedawne przyznanie firmie Cryptography Research patentu na metody ochrony przed znanymi od kilku lat atakami na urządzenia kryptograficzne wykorzystujące drobne różnice w pobieranej przez nie mocy podczas wykonywania algorytmu szyfrującego.

Idealny szyfr teoretyczny

W łamaniu szyfrów niekwestionowaną królową nauk jest statystyka, ona mówi nam, na ile bezpieczny może być dany szyfr, i "podpowiada" kryptoanalitykowi kolejne bity klucza chroniącego przechwycony szyfrogram. Statystyka jest również gwarancją bezpieczeństwa jedynego szyfru, co do którego wszyscy są zgodni, że zapewnia stuprocentowe bezpieczeństwo szyfru z kluczem jednorazowym (OTP - One Time Pad).

Idea OTP jest bardzo prosta. Bierzemy tekst jawny o długości na przykład 100 znaków i całkowicie losowy klucz, również o tej samej długości. Operacja szyfrowania polega na dodaniu do siebie tych dwóch tekstów. Wynik jest szyfrogramem, który możemy wysłać do odbiorcy. W takim rozwiązaniu klucz musi posiadać szczególne cechy. Po pierwsze, jego długość musi być taka sama jak tekstu jawnego. Po drugie, każdy ze znaków klucza musi być całkowicie przypadkowy i niezależny od poprzedniego.

Chcąc odczytać tak zakodowany tekst, kryptoanalityk zacznie poszukiwać w szyfrogramie prawidłowości statystycznych, które ujawniałyby niedoskonałości szyfru. Ponieważ klucz OTP jest stuprocentowo losowy, żadnych prawidłowości nie będzie. Kolejny krok to stawianie hipotez, np. że pierwsze słowa szyfrogramu brzmią: "Panie Premierze". Potwierdzeniem dla takiej hipotezy mogą być kolejne prawidłowości statystyczne, ale tu znów ich nie ma. I nie może być, bo skoro każdy znak klucza OTP jest przypadkowy, to taki szyfrogram można odczytać na niemal nieskończoną liczbę sposobów, a każdy z nich będzie tak samo prawdopodobny.

Statystycznie rzecz biorąc

System z kluczem jednorazowym jest doskonały w teorii, ale raczej nieprzydatny w praktyce. Problemem nie do pokonania jest tutaj dystrybucja klucza, który musi być jednocześnie bardzo długi (tak długi jak sama szyfrowana wiadomość), bardzo losowy i absolutnie jednorazowy. W zastosowaniach praktycznych stosuje się więc całkowicie inne podejście.

Zamiast długiego i losowego klucza, można posłużyć się krótkim "kluczykiem", który wkłada się do "czarnej skrzynki", czyli podaje się jako argument do algorytmu szyfrującego. Na podstawie owego "kluczyka" szyfr (algorytm) generuje pseudolosowy ciąg kluczowy o dowolnej długości i dopiero za jego pomocą szyfruje dane.

Rozwiązanie wydaje się idealne, stawia jednak przed projektantem ogromne wyzwanie, jakim jest zapewnienie takiej konstrukcji odpowiedniego poziomu bezpieczeństwa. Mamy tutaj bowiem sytuację odwrotną niż w OTP - zamiast długiego i całkiem losowego klucza, mamy długi ciąg kluczowy, który jest co prawda podobny do losowego, ale wynika ze stosunkowo krótkiego klucza dostarczonego przez użytkownika. Tu do gry znów wkracza statystyka, która bardzo "lubi" długie ciągi liczb.

Jest oczywiste, że znalezienie prawidłowości statystycznej ciągu, który z istoty rzeczy jest pseudolosowy, jest znacznie łatwiejsze, niż w przypadku ciągu absolutnie losowego. Po zebraniu odpowiedniej ilości zaszyfrowanych danych mogą zacząć ujawniać się prawidłowości prowadzące do odkrywania kolejnych bitów tajnego klucza, aż do ujawnienia go w całości.

Dokładnie w ten sposób możliwe jest łamanie algorytmu WEP (Wireless Equivalent Privacy) chroniącego sieci WLAN. Kryptoanaliza to jednak nie tylko statystyka. Jednym z ciekawszych, by nie powiedzieć niezwykłych przykładów kryptoanalizy są ataki wykorzystujące obserwacje pośrednich efektów działania urządzenia szyfrującego dla uzyskania informacji o jego stanie wewnętrznym, a w szczególności wykorzystanie ich do odtworzenia kluczy kryptograficznych.