FACHOWA CHIŃSZCZYZNA: DESZYFRATORY
Algorytm
Algorytm szyfrujący określa metodę kodowania danych podczas
szyfrowania. Im bardziej wyrafinowany algorytm, tym bezpieczniejszy szyfr.
Atak na tekst zaszyfrowany
Atak na tekst zaszyfrowany (tzw. ciphertext only attack) stanowi statystyczną metodę
ujawniania kluczy. Oto przykład: literą, która najczęściej występuje w polskich
tekstach, jest małe „e". Deszyfrator wyszukuje zatem w zaszyfrowanym tekście
najczęściej pojawiający się znak i zakłada, że odpowiada on literze „e".
Podobnie postępuje z pozostałymi znakami. Jeśli do zaszyfrowania tekstu użyto prostego
algorytmu, można w ten sposób obliczyć fragment klucza. Metoda statystyczna jest
bezskuteczna w przypadku, gdy dokument jest pusty lub zawiera zbyt mało tekstu.
Atak za pomocą tekstu jawnego
W przypadku ataku za pomocą tekstu jawnego (tzw. known plain text attack) deszyfrujący
zna fragment niezaszyfrowanego tekstu lub przypuszcza, że w zaszyfrowanym tekście
występują określone wyrazy czy zdania. Najczęściej wypróbowuje się np. standardowe
nagłówki i formułki grzecznościowe. Przy prostym algorytmie szyfrowania porównanie
tekstu jawnego z tekstem zaszyfrowanym pozwala obliczyć klucz szyfrujący. Jako
„tekst" jawny może posłużyć także znajomość struktury dokumentu. Jest ona
taka sama dla wszystkich dokumentów danego formatu, zatem nie jest nie może być
utajona.
Dictionary attack
Wyszukiwanie słownikowe
Długość klucza
Dane koduje się przy pomocy klucza, który zazwyczaj generuje się na podstawie hasła.
Długość klucza zależy od stosowanego algorytmu szyfrującego. Im dłuższy klucz, tym trudniej złamać zabezpieczenia i ujawnić dane.
Metoda brute force
Metoda brute force to najprostszy sposób wyszukiwania tajnych kluczy i haseł. Polega na
wypróbowywaniu (podstawianiu) wszystkich możliwych kombinacji znaków w obrębie całej
przestrzeni klucza do momentu jego odnalezienia. Brute force znajduje zastosowanie wtedy,
gdy wszystkie inne metody okazują się bezskuteczne. Podejście tą metodą może być
ogromnie czasochłonne zależnie od długości hasła i mocy obliczeniowej komputera. Przy
założeniu, że zbiór znaków użytych w kluczu obejmuje 92 znaki (wielkie i małe
litery, cyfry i często stosowane znaki specjalne), liczba kombinacji - czyli możliwych
haseł - wynosi 92n, przy czym n oznacza długość hasła. Na komputerze Pentium 166 MHz,
który wykorzystaliśmy do naszych testów, programy deszyfrujące podstawiały
maksymalnie 13.000 haseł na sekundę. Podczas gdy odnalezienie hasła o długości trzech
znaków przebiega na wspomnianym pececie dość krótko (trwa to około minuty), ta sama
operacja z hasłem o siedmiu znakach mogłaby zająć ok. 181 lat. By korzystając z
wymienionego sprzętu odnaleźć do roku 2000 hasło o długości ośmiu znaków,
poszukiwania należałoby rozpocząć już w epoce kamienia łupanego.
Szyfrowanie RC4
Dzięki zmiennej długości
klucza algorytm szyfrujący RC4 oferuje
akceptowalny stopień bezpieczeństwa. Jednak w przypadku produktów z USA długość
klucza jest często ograniczona do 40 bitów.
Wyszukiwanie słownikowe
Wyszukiwanie słownikowe (tzw. atak z użyciem zbiorów odpowiedzi) to szybszy wariant
metody brute force. Podstawowym założeniem metody jest przypuszczenie, że do
zaszyfrowania tekstu użyto naturalnego słowa (a nie dowolnych kombinacji liter)
pochodzącego z języka, którym włada szyfrujący. Program deszyfrujący podstawia zatem
wyrazy zawarte w dostępnym mu zbiorze (słowniku). Odpowiednie słowniki dla wielu
języków można znaleźć w Internecie. Uwaga: hakerzy często uzupełniają słowniki o
hasła pochodzące z bliskiego otoczenia osoby, która zaszyfrowała dany tekst. Do takich
wyrazów należą przykładowo imiona członków rodziny czy znajomych, ksywki, marki
samochodów itp.