Już Cezar to robił
Szyfrowanie strategicznych informacji decydowało o wynikach bitew i wojen, losach królów. Teraz służy do ochrony prywatności i zapewnia bezpieczeństwo internetowym transakcjom. Często korzystamy z niego, nie wiedząc o tym. Możemy też świadomie szyfrować dane, używając odpowiednich programów.
Najpopularniejsze współczesne algorytmy szyfrujące
- AES – symetryczny szyfr blokowy, czyli taki, w którym strumień danych wejściowych (tekst jawny, czyli jeszcze niezaszyfrowane informacje) jest dzielony na bloki o określonej wielkości, np. 128 bitów, które są szyfrowane, a następnie składane w szyfrogram (ciąg zaszyfrowanych danych). AES został przyjęty przez amerykańską agencję NIST (odpowiednik polskiego Głównego Urzędu Miar) jako podstawowy szyfr stosowany do utajniania informacji. Występuje najczęściej w trzech wersjach: 128-bitowej, 192-bitowej oraz najsilniejszej 256-bitowej. Słyszy się pogłoski o ewentualnej możliwości złamania tego szyfru, ale nigdy, jak dotąd, nie zostały potwierdzone.
- DES – poprzednik AES-a; opracowany w latach 70. przez firmę IBM szyfr blokowy, w którym 64-bitowe bloki danych są szyfrowane 56-bitowym kluczem. Złamanie tego szyfru nie stanowi już większych trudności dla maszyn o dużej mocy obliczeniowej, wciąż jednak może być stosowany w przypadku mniej ważnych danych
- Twofish – symetryczny szyfr blokowy; korzysta z kluczy o długości 128, 192 i 256 bitów. Szyfrowane dane są dzielone na bloki po 128 bitów każdy. Szyfr ten był jednym z finalistów konkursu na algorytm szyfrujący, rozpisanego przez amerykańską agencję NIST (ostatecznie wygrał AES). Dotychczas nie znaleziono efektywnej metody złamania tego szyfru, szybszej niż atak typu brute force (testowanie wszystkich możliwych kombinacji).
- RC4 – szyfr strumieniowy wykorzystywany m.in. przez przeglądarki internetowe podczas połączeń za pomocą protokołu SSL , protokołu BitTorrent, jak również w sieciach bezprzewodowych (WEP ). Obecnie nie jest już jednak uważany za bezpieczny. W 2001 roku standard szyfrowania sieci bezprzewodowych (WEP) został złamany.
Szyfrowanie informacji (kryptografia) polega na zastąpieniu tekstu jawnego odpowiednimi znakami alfabetu i symbolami. Odbywa się to zgodnie z przyjętym przez nadawcę i odbiorcę algorytmem (metodą), według ustalonego klucza. Prostym przykładem algorytmu szyfrowania jest np. przestawienie liter w wiadomości lub podstawienie w miejsce danych liter innych. Przykłady współczesnych, złożonych algorytmów znajdziesz w ramce „Najpopularniejsze współczesne algorytmy szyfrowania”. Klucz szyfrujący określa, jak to przyporządkowanie ma wyglądać. Jeśli zaszyfrowana wiadomość trafi do nieuprawnionej osoby, to do jej odczytania sama wiedza o zastosowanym algorytmie nie wystarczy, potrzebny jest jeszcze klucz. Aby szyfr był bezpieczny, klucz trzeba zachować w tajemnicy, a zbiór możliwych kluczy musi być na tyle duży, żeby nie dało się ich sprawdzić w ograniczonym czasie.
Metody starożytnych
Wagę utajniania informacji rozumieli już starożytni Spartanie, którzy używali tzw. skytali. Była to drewniana ociosana laska czy wałek, na który nawijano pasek pergaminu, tak by jego brzegi stykały się ze sobą, a tekst pisano na powstałej w ten sposób otulinie. Gdy wiadomość została zapisana, odwijano pasek pergaminu i przekazywano adresatowi. Odbiorca wiadomości musiał mieć wałek identycznej grubości – nawijał na niego pergamin i odczytywał wiadomość.
Współcześnie szyfry opierają się nie na wymyślnych mechanizmach, lecz na matematyce, wspartej mocami obliczeniowymi komputerów. Ale również matematyka w szyfrach to żadna nowość. Wykorzystał ją Juliusz Cezar, tworząc szyfr, zwany szyfrem Cezara. Kodował wiadomości w ten sposób, że każda litera tekstu jawnego była zamieniana na literę znajdującą się w alfabecie łacińskim trzy miejsca za nią (alfabet był zapętlony – po Z następowało znowu A). Podczas kodowania z tekstu jawnego usuwano wszelkie spacje, znaki interpunkcyjne, nie miała znaczenia także wielkość liter. Nazwa naszego miesięcznika zapisana szyfrem Cezara brzmiałaby: SFIRUPDX
Gdzie tu matematyka? Otóż kluczem szyfrującym jest liczba 3, gdyż o taką wartość następuje przesunięcie znaków alfabetu. Jest to jeden z najprostszych szyfrów – szyfr podstawieniowy. Jego „siła” we współczesnym świecie jest żadna i z jego złamaniem powinien sobie poradzić każdy piśmienny człowiek, i to bez komputera. Mimo to z tego banalnego szyfru korzystała armia rosyjska w 1915 roku, ponoć dlatego, że bardziej skomplikowane metody nie były akceptowane przez sztab.
Szyfry iluzoryczne
Od czasów starożytnych techniki obliczeniowe się rozwinęły. Mimo to w komputerach wciąż można znaleźć szyfry, których siła praktycznie nie odbiega od siły szyfru Cezara. W systemach Unix, a także w Linuksie i wielu programach działających w DOS-ie oraz Windows, można znaleźć metodę „utajniania” tekstu za pomocą funkcji o nazwie ROT13. Jest to po prostu szyfr Cezara o kluczu 13! Czemu trzynastka? Żeby było prościej. Ponowne zaszyfrowanie zaszyfrowanego już tekstu odszyfrowuje go, gdyż 13 to połowa 26-znakowego alfabetu łacińskiego (bez polskich znaków).
Jedyna bezpieczna metoda – one-time pad
One-time pad to po polsku szyfr z kluczem jednorazowym. Na razie jest to jedyny absolutnie bezpieczny sposób szyfrowania. W metodzie tej klucz szyfrowania musi mieć co najmniej taką samą długość jak szyfrowana wiadomość. Ponadto klucz jednorazowy musi być utworzony w sposób losowy. Jeżeli wartość klucza da się statystycznie przewidzieć, oznacza to możliwość odszyfrowania tajnej informacji. W praktyce szyfr ten jest wykorzystywany jedynie w wyjątkowych sytuacjach – ponoć gorąca linia między prezydentem Stanów Zjednoczonych a prezydentem Rosji jest szyfrowana właśnie tą metodą.
Szyfrowanie symetryczne
Współczesne metody kryptograficzne można podzielić na: kryptografię symetryczną i kryptografię z kluczem publicznym (zwaną niekiedy asymetryczną). W kryptografii symetrycznej nadawca zaszyfrowanej wiadomości oraz jej odbiorca korzystają (w uproszczeniu) z tego samego klucza szyfrującego, który służy zarówno do szyfrowania, jak i odszyfrowania danych.
Podstawowym problemem jest tu wymiana klucza między stronami. Klucz można przekazać podczas spotkania z osobą, z którą będziesz wymieniał zaszyfrowane dane, ale przestaje to być możliwe, gdy szyfrowana komunikacja ma się odbywać przez internet na duże odległości. Nie można przekazać klucza telefonicznie, bo taką rozmowę łatwo podsłuchać. Dlatego w internetowej komunikacji stosuje się metody łączone – za pomocą szyfrowania asymetrycznego uzgadnia się klucz, a później utajnia dane, korzystając z szyfrowania symetrycznego.
Szyfrowanie asymetryczne
Wykorzystuje się w nim nie jeden, lecz parę matematycznie powiązanych kluczy: prywatny i publiczny. Oba klucze generowane są poufnie jako para i choć można teoretycznie wyliczyć klucz prywatny na podstawie klucza publicznego, przekracza to wciąż możliwości obliczeniowe współczesnych komputerów.
Jeśli jesteś zainteresowany szyfrowaniem danych i chcesz wykorzystać do tego celu algorytm z kluczem publicznym, zaczynasz od wygenerowania pary kluczy: prywatnego oraz publicznego. Możesz to zrobić np. w programie PGP (dostępna jest wersja darmowa i komercyjna ). Prywatny klucz to twoja tajemnica. Publiczny powinieneś rozesłać do wszystkich (np. e-mailem, przez komunikator internetowy), od których chcesz otrzymywać zaszyfrowane wiadomości. Zasada jest prosta: gdy ktoś z twoich przyjaciół ma twój klucz publiczny, może za jego pomocą zaszyfrować wiadomość. Będzie można ją odszyfrować jedynie twoim kluczem prywatnym. Zatem tak długo, jak tylko ty będziesz go znał, masz pewność, że wiadomości nie odczyta niepowołana osoba.
Szyfrowanie asymetryczne doskonale rozwiązuje problem z przekazywaniem kluczy i zapewnia bezpieczną komunikację na dowolne odległości, jest jednak znacznie wolniejsze niż szyfrowanie symetryczne.
Słownik: trudne terminy
szyfr strumieniowy
metoda szyfrowania, w której wiadomość jest szyfrowana strumieniowo (znak po znaku) za pomocą generowanego na bieżąco, potencjalnie nieskończonego klucza szyfrującego
protokół SSL
protokół przeznaczony do bezpiecznej transmisji zaszyfrowanego strumienia danych; powszechnie wykorzystywany dziś w internecie (np. podczas odwiedzania stron sklepów online czy instytucji finansowych)
WEP
standard szyfrowania stosowany w sieciach bezprzewodowych; obecnie wypierany przez nowsze rozwiązania ze względu na swoją słabość; dowiedziono złamania WEP w czasie krótszym niż jedna minuta
DirectX 10
najnowsza wersja multimedialnych bibliotek Microsoftu wykorzystywanych głównie w grach; pośredniczą w wyświetlaniu grafiki, są używane także przy symulowaniu efektów dźwiękowych
technologia 65 nm
sposób wytwarzania układów półprzewodnikowych metodą fotolitograficzną, w której ścieżki łączące tranzystory mają szerokość 65 nanometrów; niższy proces technologiczny obniża pobór mocy i ilość wydzielanego ciepła
pamięć cache
inaczej bufor lub pamięć podręczna, przyspiesza dostęp do danych na dysku, ponieważ przechowuje część z nich i wysyła je do kontrolera, bez konieczności sięgania po nie do znacznie wolniejszego nośnika
Podpisy elektroniczne
Ważną zaletą kryptografii asymetrycznej jest możliwość „podpisywania” wiadomości. Jeżeli ktoś zaszyfruje wiadomość do ciebie, używając twojego klucza publicznego, a sam również korzysta z kryptografii asymetrycznej (ma swoją parę kluczy publiczny-prywatny), może „podpisać” tę wiadomość, szyfrując tzw. skrót wiadomości (unikatowy ciąg znaków – identyfikator danej wiadomości wyznaczony na podstawie jej treści) swoim kluczem prywatnym. Gdy odbierzesz taką wiadomość, możesz nie tylko ją odczytać, ale też, posługując się kluczem publicznym nadawcy, jednoznacznie zweryfikować, że to właśnie on wysłał list.
Szyfrowanie w praktyce
Z szyfrowania korzystamy codziennie, np. surfując po internecie i zaglądając na zaszyfrowane strony banków, instytucji finansowych, sklepów elektronicznych itp. Metody stosowane przy połączeniu z bezpieczną witryną pokazuje ramka „Szyfrowane połączenie w internecie”. Kryptografia jest też używana podczas zdalnego łączenia się z serwerem, np. administrator, który chce zmienić konfigurację serwera, może się na niego zalogować zdalnie, bo jego komunikacja z serwerem będzie szyfrowana. Również przy korzystaniu z usługi Zdalny pulpit albo Zdalna pomoc w Windows jest stosowane szyfrowanie.
Możesz też sam decydować o tym, jakie dane zaszyfrować. Musisz tylko użyć odpowiedniego oprogramowania. Na przykład darmowy program TrueCrypt (jest na naszym krążku) umożliwia tworzenie zaszyfrowanych woluminów na dyskach twardych. Wykorzystuje do tego celu najsilniejsze, powszechnie dostępne dziś algorytmy szyfrujące (m.in. AES). Za pomocą TrueCrypta zaszyfrujesz także cały dysk twardy, dzięki czemu nawet w razie kradzieży nikt nie pozna twoich tajemnic.