I ty bedziesz kryptografem [2]
Kontynuując temat poruszony w artykule <a href ="http://nt.interia.pl/news?inf=563038"> I ty zostaniesz kryptografem</a>, przedstawiamy podstawowe rodzaje szyfrów. Współczesne szyfry możemy podzielić na 3 grupy:
-symetryczne szyfry strumieniowe
-szyfry asymetryczne
Algorytmy symetryczne używają tego samego klucza do kodowania i dekodowania wiadomości. Szyfry blokowe zaś szyfrują niewielkie bloki danych (znacznie mniejsze od typowej wiadomości), współcześnie jest to najczęściej 128 bitów.
Tradycyjnie, szyfrem blokowym jest kilkanaście przekształceń, wykorzystujących operacje dodawania, XOR, przesunięć cyklicznych, różnego typu postawień, mnożenia modulo. Ponieważ operacje te nie są ze sobą "blisko spokrewnione", otrzymany tekst przyjmuje stosunkowo trudną do rozszyfrowania formę.
-DES powstał w latach 70. w laboratoriach IBM-u. Przez wiele lat był standardem, obecnie jednak nie jest uważany za bezpieczny, z racji jedynie 56-bitowego klucza. Jako że złamanie DES-a w roku 1997 zajęło komputerowi wartemu 250 tys. dolarów trzy dni, szacuje się, iż obecnie dysponując sprzętem wartości miliona dolarów można "pokonać" algorytm w ok. 30 minut.
-3DES jest swoistą próbą ratowania DES-a. Polega na trzykrotnym zakodowaniu tekstu DES-em. Wciąż jednak używany jest klucz symetryczny, zaś siła szyfru jest dwu-, a nie trzykrotnie większa od poprzednika. W obu przypadkach kodowane są 64-bitowe porcje tekstu.
-Blowfish operuje na 64-bitowych blokach. Bezpłatny algorytm uznawany jest za szybki i stosunkowo odporny na brute force. Używa kluczy od 32 do 448 bitów.
-IDEA (International Data Encryption Algorithm) również operuje na 64-bitowych blokach wiadomości, stosując 128-bitowy klucz. Ten algorytm chroniony jest patentem. Zyskał dużą popularność dzięki PGP - jednemu z bardziej znanych narzędzi do szyfrowania poczty elektronicznej.
Szyfry strumieniowe szyfrują każdy znak tekstu jawnego osobno. Ciąg bitów (znaków) klucza generowany jest niezależnie od szyfrowanej wiadomości. Elementy tegoż klucza dodawane są (zwykle z użyciem funkcji XOR) do kolejnych znaków tekstu jawnego. Właśnie generator jest podstwą algorytmu i bezpieczeństwa, ponieważ generuje ciąg liczb losowych na podstawie klucza prywatnego.
-RC4 jest najpopularniejszym szyfrem strumieniowym. Stosuje 40-bitowy klucz, wykorzystywany jest przez popularne aplikacje, jak Microsoft Office, Oracle SQL, czy Adobe Acrobat. Podobnie, jak w przypadku innych szyfrów strumieniowych, załamanie algorytmu jest łatwe, jeśli dwukrotnie użyje się tego samego klucza.
Szyfry asymetryczne wykorzystują 2 klucze - klucz publiczny służący do szyfrowania, oraz klucz prywatny służący do deszyfrowania. Zatem duża odpowiedzialność spada na klucz prywatny, który absolutnie nie może być udostępniany osobom niepożądanym. Szyfry asymetryczne wykorzystują operacje matematyczne, których szybkość wykonania zależna jest od kolejności działań.
-RSA wykorzystuje trudność faktoryzacji dużych liczb. Jeżeli jako klucz przyjmie się dwie duże liczby, po ich pomnożeniu i usunięciu, trudno będzie odzyskać składniki iloczynu. Dotychczas jednak ataki na RSA o kluczach długości 600 bitów okazywały się nierzadko skuteczne. Za bezpieczne uznaje się klucze długości 1024 bitów.