Pliki pod ochroną

Informacją jest wszystko, co niesie ze sobą konkretną treść i nadaje się do celowego wykorzystania. Niekoniecznie bezpośrednio przez człowieka. Informacja to zarówno excelowy arkusz z najnowszymi wynikami spółki giełdowej, jak i program binarny. W pierwszym wypadku odbiorcą przekazu jest człowiek, w drugim wiadomość zapisywana jest w języku maszynowym i trafia wprost w rejestry procesora. Choć wydaje się, że zjawiska te więcej dzieli, niż łączy, w istocie obydwa bazują na pojęciu alfabetu, czyli zbioru symboli zrozumiałych zarówno dla nadawcy, jak i odbiorcy.

Na początku było słowo

Znając alfabet, potrafimy napisać wiadomość i poprawnie ją odczytać. Jednak to samo jest w stanie zrobić każdy, jeśli tylko zna znaczenie używanych przez nas symboli. Aby więc przesłać wiadomość w sposób dostępny jedynie dla wybrańców, najprościej zapisać ją, posługując się nowym alfabetem.

Bardzo łatwo to uczynić, zmieniając znaczenia poszczególnych liter według określonego klucza. W ten sposób narodził się znany z historii kabalistyki żydowski szyfr Atbasz. Zmienia on litery w szyfrowanej wiadomości w ten sposób, że pierwszej literze alfabetu odpowiada ostatnia, drugiej – przedostatnia i tak dalej.

Inne podejście do tego problemu to rzymski szyfr Cezara. Przypisuje on każdej literze wiadomości literą stojącą w alfabecie o trzy miejsca dalej. Na podobnej zasadzie funkcjonuje szyfrowanie ROT-13. Jest ono stosowane do dziś w czytnikach grup dyskusyjnych i pozwala dla zabawy ukryć treść wiadomości, “przesuwając” cały alfabet o 13 znaków w prawo.

Algorytmiczny klucznik

Najważniejszymi pojęciami w kryptografii są algorytm szyfrowania oraz klucz. Klucz to pewna liczba, która umożliwia zakodowanie, a później odkodowanie szyfrogramu. Odczytanie informacji bez klucza zabiera mnóstwo czasu, a w praktyce najczęściej jest w ogóle niewykonalne.

Aby zmienić wiadomość w kryptogram, musimy kolejne jej porcje poddać działaniu zbioru operacji, który nazywamy algorytmem. Jest on również niezbędny do “podróży” w drugą stronę, kiedy to na podstawie kryptogramu odtwarzamy tekst jawny. Powołując się na analogię z szyfrem Cezara, algorytmem jest tutaj przesuwanie liter, a klucz to wielkość tego przesunięcia, które w tym przypadku ma wartość 3.

Niestety, algorytmy oparte na zamianie jednego alfabetu na inny bardzo łatwo złamać bez znajomości klucza. Wystarczy, że wiadomość jest dostatecznie długa. Wtedy należy porównać częstości występowania określonych symboli w tekście zaszyfrowanym z ich statystyczną częstością występowania w normalnym języku. Po zrobieniu takiego zestawienia odpowiednio zamieniamy symbole i gotowe.

Dla przykładu: w języku polskim najczęściej występującą literą jest “a”. Jeśli mamy pewność, że zaszyfrowana wiadomość jest po polsku, to znajdując symbol, który powtarza się w niej największą liczbę razy, z dużą pewnością natrafimy na “a”. Kolejna pod względem częstości występowania polska litera to “i”. Dalej jest “e”, a im więcej mamy odgadniętych znaków, tym łatwiej dopasować kolejne. Dokładnie tak jak w krzyżówce. Dlatego współczesna, komputerowa kryptografia nie ma za wiele wspólnego z alfabetami.

Poza alfabetem

Dzisiejsza kryptografia bazuje na spostrzeżeniu, że na dowolną informację – obojętnie, czy jest to tekst obwieszczenia rządowego po chińsku, przebój Tatu w formacie MP3 czy też kod źródłowy nowego kompilatora – można popatrzeć jak na ogromną liczbę. Cyfry tej liczby najlepiej wyobrazić sobie jako kolejne bajty reprezentującego ją pliku. W takim ujęciu zadanie kryptografii jest bardzo proste: należy zmienić tę liczbę w inną, tak aby nie dało się jej odczytać bez odpowiedniego algorytmu oraz prawidłowego klucza.

Zamianę możemy przeprowadzić na dwa sposoby. Pierwszy (szyfrowanie strumieniowe) polega na kodowaniu napływających symboli – najczęściej bajtów – jeden za drugim. Jednak efekt tych zabiegów nie jest tak prosty jak przy szyfrach alfabetycznych: ten sam symbol, w zależności od historii strumienia, ma zupełnie inne znaczenie. Dodatkowo szyfrowanie strumieniowe pozwala na kodowanie w czasie rzeczywistym. Z tego względu algorytmy te znajdują zastosowanie w telekomunikacji, między innymi w telefonii komórkowej (protokół A5/1) oraz szyfrowanych połączeniach LAN (protokół RC4).

Drugi, bez wątpienia powszechniejszy sposób szyfrowania, zwany blokowym, polega na dzieleniu tekstu jawnego na krótkie bloki o określonej długości, na przykład 128 bitów. Uzyskane w ten sposób liczby są najpierw mieszane, aby uniknąć powtarzalności kodowania, jak ma to miejsce w szyfrze Cezara, a następnie za pomocą kilku operacji matematycznych przekształcane w inne, które stanowią właściwy szyfrogram. Jednak o kryptograficznej sile tego rodzaju przekształceń decydują nie tyle skomplikowane przekształcenia, ile długość klucza.

Magia wielkości

Jak najprościej rozszyfrować wiadomość, jeśli znamy algorytm, lecz nie znamy klucza? Oczywiście poprzez wypróbowanie wszystkich kombinacji. Jest to tak zwany atak siłowy. Komputery są dziś naprawdę szybkie: wykonują nawet do kilku miliardów operacji na sekundę. Wydaje się więc, że to rozsądne wyjście. Niestety, już proste obliczenia wykazują, że klucz o długości zaledwie 128 bitów może mieć 2

128

wartości. Aby siłowo złamać szyfr, należy przetestować je wszystkie. Jednak 2128 to w przybliżeniu 1038, czyli jedynka z trzydziestoma ośmioma zerami! Jest to liczba tak ogromna, że nawet gdyby nad rozwiązaniem pracowały wszystkie ziemskie komputery jednocześnie, to i tak sprawdzenie wszystkich kombinacji trwałoby tysiące razy dłużej niż wiek wszechświata.

Stosowane dziś algorytmy nie są aż tak odporne na złamanie, zatem znając ich działanie – kody większości dzisiejszych procedur szyfrujących są dziś powszechne dostępne (patrz: “$(LC157089:Najważniejsze algorytmy kryptograficzne)$”) – możemy spróbować złamać szyfr bez znajomości klucza. Wystarczy w tym celu sprawdzić tylko niektóre kombinacje. Niestety, tych “niektórych” pozostaje wciąż tak dużo, że średni czas deszyfracji i tak zajmie wiele dziesiątek lat, i to przy stosunkowo krótkim, 128-bitowym, kluczu. W wypadku dłuższych większość współczesnych algorytmów w dalszym ciągu jest nie do złamania w czasie porównywalnym z wiekiem wszechświata.

Dane techniczne i funkcje programów do szyfrowania
MaxCrypt 1.10FineCrypt 9.0Mooseoft Encrypt 2003 ProAdvanced Encryption Package 2005Advanced Hide Folders 4.7Hide in Picture 2.1PGP 9.0CryptoForge 3.2.5CryptoMagic 2.0 DriveCrypt 3.0SecureDoc 4.0
WWW [http://]www.kinocode.comwww.finecrypt.netwww.mooseoft.cjb.netwww.secureaction.comwww.softbe.comwww16.brinkster.com/davitf/hip/www.pgp.comwww.cryptoforge.comwww.software-security.comwww.drivecrypt.comwww.securedoc.pl
Systemy operacyjneWindows 9x/Me/NT/2000/XPWindows 2000/XPWindows 98/Me/NT/2000/XPWindows 9x/Me/NT/2000/XPWindows 9x/Me/NT/2000/XPWindows 9x/Me/NT/2000/XPWindows 2000/XP Mac OS XWindows 98/Me/NT(SP4)/2000/XPWindows 9x/Me/NT/2000/XP Windows NT/2000/XPWindows 2000/XP/2003
Cenafreeware49 USD25 USD30 USD39 USDfreeware105 euro39,95 USDfreeware59,95 euro159 USD
Możliwe algorytmy
3DES (TripleDes)ntnnnnttnnn
DESXnnnnnnnnnnn
AES (Rijndael)ttttnnttntt
IDEAntttnttnnnn
GOSTnttnnnnttnn
Twofishtttnnnnntnn
Blowfishnnttnttttnn
CASTntttnntnnnn
InnenMARS, RC-6, SerpentSquarennnnnDESnn
Funcjonalność
Szyfrowanie plików i katalogówttttnttttnt
Ukrywanie lub podmienianie katalogównntntnnnnnn
Ukrywanie w obrazkach/muzycen/nn/nn/nn/nn/nt/nn/nn/nn/nt/tn/n
Zabezpieczenia pocztynnttnntnnnn
Wiping, czyli bezpieczne usuwanie danychnnttnnntnnt
Wiping wolnego miejsca na dyskunnnnnntnnnn
Tworzenie wirtualnych woluminównnnnnntnttn
Zabezpieczenie całego komputerannnnnnnnntt
Integracja z Windows – menu kontekstowentttnnttnnt
Dodawanie zasobów metodą przeciąnij i upuśćnntntttnnnn
Tworzenie plików samodekryptujących typu EXEnnttnnnnnnt
UwagiProsty, ale bardzo szybki program. Funkcjonalność ograniczono tu do minimum, a efekty działania tej aplikacji stanowią pojedyncze katologi z zaszyfrowanymi plikami.Aplikacja ma własny komunikator, który pozwala bezpiecznie przesyłać pliki pomiędzy użytkownikami.Bardzo dobra integracja z Windows. Interfejs ma postać wielopanelowego okna, przy czym każdy panel odpowiada innej operacji: szyfrowaniu, wymazywaniu oraz ochronie poczty.Wiele różnych skór do wyboru. Potrafi przeprowadzić kompresję typu ZIP. Dość dziwaczny układ okna szyfrującego, które nieustannie nie potrafi dokować.Po uruchomieniu może pracować w trybie stealth. Wtedy w ogóle nie widać, że aplikacja jest zainstalowana w systemie. Wadą programu jest istnienie procesu o nazwie ahfp.exe, który jest widoczny w Menedżerze zadań.Bardzo prosty i przyjazny dla użytkownika interfejs. Wykorzystuje metodę przeciągnij i upuść. Doskonale integruje się ze znanymi programami pocztowymi. Obsługuje światowy system wymiany kluczy publicznych.Możliwość wielokrotnego szyfrowania tego samego pliku. Na przykład po użyciu Blowfisha kryptogram możemy jeszcze zaszyfrować GOST–em. Oblicza czas szyfrowania w MB/s. Oferuje kompresję przed szyfrowaniem.Przyjazny kreator do tworzenia nowych woluminów. Można go tak skonfigurować, żeby automatycznie odłączał zaszyfrowany wirtualny napęd po określonym czasie.Klucz można ukryć albo w tokenie USB, albo w obrazku czypliku muzycznym. Program szyfruje nie tyle wirtualne woluminy, ile całe fizyczne napędy, włącznie z tym, z którego startuje system.Po zalogowaniu użytkownik nie zauważa już pracy programu, który w tle szyfruje dane. Przy awarii dysku można odzyskać wszystkie dane, jeśli tylko dysponuje się kluczem.
t – tak, n – nie
Więcej:bezcatnews