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.