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.