Kryptologia – szpiedzy, hakerzy i matematyka
Jest taka dziedzina matematyki, która decydowała ożyciu lub śmierci wielu ludzi. Dziedzina, za sprawą której, której świat stawał w obliczu wojen lub ich unikał. Czy wreszcie, dzięki której nie byłyby możliwe, w dzisiejszych czasach, usługi takie jak: posiadanie skrzynki mailowej, zakupy przez internet, rozmawianie przez komórkę, bankowość elektroniczna, płacenie kartą w sklepie i wiele innych.
Jeśli wolisz oglądać, to zapraszam Cię do obejrzenia poniższego materiału, jeśli zaś wolisz czytać – tekst znajdziesz pod filmem.
Jest taka dziedzina matematyki, która decydowała niejednokrotnie o losach, nie tylko najpopularniejszego filmowego szpiega Jamesa Bonda, ale także prawdziwych agentów wywiadu. Dziedzina, za sprawą której, której świat stawał w obliczu wojen lub ich unikał. Dziedzina, która decydowała i decyduje o bezpieczeństwie narodowym państw. Czy wreszcie, dzięki której nie byłyby możliwe, w dzisiejszych czasach, usługi takie jak: posiadanie skrzynki mailowej, zakupy przez internet, rozmawianie przez komórkę, bankowość elektroniczna, płacenie kartą w sklepie i wiele, wiele innych.
Co to za tajemnicza dziedzina?
To kryptologia.
Zapraszam na opowieść o szyfrach, kodach, szpiegach i hakerach czyli odwiecznej walce tych, którzy szyfry tworzą (nazywamy ich kryptologami) z tymi, którzy je łamią (kryptoanalitykami).
Kryptologia to słowo pochodzące z greki (kryptos oznacza „ukryty”, zaś logos – „rozum” albo „słowo”). Można by więc rzec, że kryptologia to dziedzina wiedzy o przekazywaniu informacji, tak zaszyfrowanych, aby nie wpadały one w niepowołane ręce. Przy czym składa się ona z dwóch poddziedzin: kryptografii – czyli nauki o tworzeniu szyfrów oraz kryptoanalizy – nauki o ich łamaniu. Warto też mieć świadomość, że dzisiejsza kryptologia uznawana jest za gałąź zarówno matematyki, jak i informatyki.
Nie wiem jak to było u Ciebie, ale ja pamiętam, że w dzieciństwie mieliśmy takie swoje grupki koleżeńskie tzw. bandy, w których często opracowywaliśmy jakiś tajny kod, za pomocą którego porozumiewaliśmy się tak, aby osoby z innej bandy nie wiedziały o co chodzi i nie poznały naszych tajemnic. Oczywiście oni robili podobnie. I oczywiście chodziło tu o zabawę, niż o rzeczywiste ukrywanie jakichś tajemnic.
A jak to było z prawdziwym utajnianiem wiadomości na przestrzeni dziejów. Jak to wyglądało i czemu służyło?
Właściwie trudno określić, kiedy to w historii cywilizowanego świata po raz pierwszy pojawiła się kryptologia. W pierwszych wiekach rozwoju ludzkości umiejętność pisania i czytania była nieznana lub bardzo rzadka i już samo zapisanie czegokolwiek było jednoznaczne z zaszyfrowaniem. A nam przecież nie o takie szyfrowanie chodzi.
Przeskoczmy więc w czasie o kilka… kilkanaście stuleci.
I oto dochodzimy gdzieś na przełom kilku ostatnich wieków starej i kilku pierwszych nowej ery.
Warto wspomnieć, że zanim jeszcze powstały jakiekolwiek techniki kodowania używano steganografii, czyli techniki ukrywania wiadomości przez uczynienie niewidocznym jej nośnika. I np. podczas wojen między Grekami a Persami przekazywano sobie wiadomości na wytatuowanych głowach niewolników.
Jak? Ano golono głowę takiego niewolnika i zapisywano lub tatuowano na niej wiadomość. Oczywiście taką wiadomość można było wysłać dopiero wówczas, gdy delikwentowi odrosły nieco włosy. Gdy ów posłaniec dotarł do miejsca przeznaczenia, znów miał goloną głowę, z której odczytywano wiadomość.
Jednym z pierwszych miejsc, w których znajdziemy wzmiankę o czymś z zakresu kryptografii jest indyjska Kamasutra. Tyle, że w tamtym czasie podręcznik ten nie sprowadzał się jedynie do zaprezentowania finezyjnych pozycji seksualnych, tak jak ma to miejsce we współczesnych książkach o tym samym tytule. Tamta Kamasutra była podręcznikiem dla młodych dam, zawierającym wiedzę potrzebną kobiecie, by być dobrą żoną. Wymienia ona 64 umiejętności, które powinna posiadać taka dobra żona, m.in. muzykę, gotowanie czy szachy, a na 45 pozycji wskazuje umiejętność nazwaną sztuką pisania sekretnych wiadomości. Autor zaleca kilka metod, a jedna z nich polega na podzieleniu alfabetu na połowy i losowym połączeniu liter w pary, co mogło by wyglądać np. tak:
Każde sparowanie liter tworzy inny klucz. Aby zapisać tajną wiadomość, wystarczy (zgodnie z naszą tabelą) literę A zastąpić literą E, S przez O, C przez P itd. i oczywiście na odwrót.
Prawdziwy rozwój kryptografii nastąpił tak na prawdę w czasach starożytnych Greków i Rzymian. Dla przykładu – grecki historyk Polibiusz, wymyślił pewien ciekawy sposób szyfrowania. Ułożył litery w kwadrat i ponumerował rzędy oraz kolumny – mogło to wyglądać np. tak:
W szyfrze tym każda litera reprezentowana jest za pomocą numeru wiersza i numeru kolumny. Za pomocą tej metody szyfrowania bez problemu przekazywano wiadomości na odległość, np. używając pochodni.
Najpopularniejszym szyfrem z czasów Cesarstwa Rzymskiego jest szyfr Cezara. Nazwa pochodzi oczywiście od Juliusza Cezara, który wykorzystywał go m.in. do komunikowania się ze swoimi generałami podbijającymi nowe terytoria dla cesarza.
W szyfrze Cezara każda litera alfabetu jest zastępowana inną literą, która znajduje się dalej w alfabecie o ustaloną liczbę pozycji, np. jeśli to będzie litera oddalona o 3 pozycje to otrzymamy taką tabelę szyfrowania:
Literę A zastępuje D, literę B zastępuje E itd.
Czy przekazywanie wiadomości za pomocą szyfrów w tamtych wiekach było rzeczywiście bezpieczne? No właśnie nie bardzo. Nasz świat nie znosi próżni, dlatego jak jedni zaczynali szyfry tworzyć, to zaraz pojawiali się tacy, którzy chcieli te szyfry złamać. I często łamali.
Przykładem na to, że od rozszyfrowania przechwyconych wiadomości zależało nieraz ludzkie życie, jest historia Marii Stuart – żyjącej w XVI wieku królowej Szkotów. Maria Stuart została oskarżona o zdradę i planowanie zamachu na królową Elżbietę I, przez co niestety została skrócona o głowę. Rozstrzygający dowód został dostarczony przez szpiegów królowej Elżbiety I i zawierał szereg listów, które Maria Stuart wymieniła z jednym z arystokratów i które jasno stwierdzały, że szkocka królowa była zwolenniczką pozbycia się Elżbiety I z angielskiego tronu.
Chociaż nie, wcale nie stwierdzały tego jasno! Listy były bowiem zaszyfrowane.
Szyfr ten wyglądał tak:
Polegał on nie tylko na zamianie liter na inne znaki, ale także na użyciu unikalnych symboli do zapisania najczęściej używanych słów.
Młoda królowa i jej spiskowcy byli przekonani, że ich szyfr jest bezpieczny, a tymczasem najlepszy kryptoanalityk królowej Elżbiety I poradził z nim sobie bez większego trudu.
Sytuacja ta była jasnym sygnałem dla rządzących w całej Europie, że dotychczasowe algorytmy szyfrujące nie są już dłużej bezpieczne. Dlatego z biegiem czasu zaczęto wymyślać coraz to nowe i coraz bardziej zaawansowane sposoby kryptografii.
Ale co z tego, skoro na posterunku przez cały czas stali kryptoanalitycy.
Jednym ze znamiennych w skutkach przykładów działania kryptoanalityków było rozszyfrowanie, podczas I Wojny Światowej tzw. telegramu Zimmermanna. Treść telegramu doprowadziła do tego, że Stany Zjednoczone wypowiedziały wojnę Niemcom, co z kolei miało daleko idące konsekwencje zarówno dla Europy jak i świata. Ale w kwestii szczegółów odsyłam do historii.
Wiek XIX spowodował zmianę podejścia do stosowanych do tej pory sposobów szyfrowania. A stało się to za sprawą wynalezienia telegrafu, co umożliwiło znacznie prostsze i szybsze przesyłanie wiadomości na duże odległości przy pomocy impulsów elektrycznych.
Najbardziej rozpowszechnionym sposobem przesyłania wiadomości za pomocą telegrafu był kod Morse’a, w którym cyfry i inne znaki są reprezentowane za pomocą kropek, kresek i odstępów.
Każda kropka reprezentuje jedną jednostkę czasu (około 1/25 sekundy), kreska to 3 jednostki, odległość pomiędzy literami to również 3 jednostki, zaś pomiędzy wyrazami – 5 jednostek. Swoją drogą dzięki temu kodowi można było nadawać wiadomości również za pomocą sygnałów świetlnych jak i sygnałów dźwiękowych.
Kod Morse’a był w pewnym sensie pradziadkiem systemów komunikacji cyfrowej, których używamy dzisiaj. Aby sobie to uzmysłowić wystarczy, w kodzie tym, kropce przyporządkować cyfrę 1, zaś kresce cyfrę 0 – otrzymamy coś w rodzaju kodu binarnego.
A oto najpopularniejszy sygnał w kodzie Morse’a.
Jest to sygnał ratunkowy SOS nadawany często chociażby na morzu przez tonące statki. SOS niektórzy tłumaczą jako: save our souls (ocalcie nasze dusze) lub save our ship (ocalcie nasz statek). Jednak pierwotnie sygnał SOS nie miał przypisanego żadnego znaczenia, a służył jako sygnał ratunkowy po prostu ze względu na prostotę w nadawaniu (3 kropki, 3 kreski, 3 kropki).
Wiek XX zaczął wypierać łączność telegraficzną na rzecz łączności radiowej. W tym czasie do nadawania zaszyfrowanych wiadomości zaczęto wymyślać prze najróżniejsze maszyny, z których chyba najpopularniejszą była niemiecka maszyna szyfrująca Enigma.
Enigma była z jednej strony urządzeniem łatwym w użyciu – z wyglądu przypominała maszynę do pisania, ale z drugiej strony kodowała wiadomości za pomocą skomplikowanego i trudnego do złamania szyfru. Dlatego też, spośród różnych urządzeń kodujących, została wybrana przez rząd Niemiec do szyfrowania znacznej części ich wojskowej komunikacji podczas II wojny światowej.
Naturalnie złamanie kodu Enigmy stało się priorytetem dla rządów walczących z niemiecką agresją.
I rzeczywiście, jak twierdzą historycy, złamanie kodu i rozszyfrowanie przechwyconych przez wywiad Aliantów wiadomości, miało rozstrzygający wpływ na zakończenie II Wojny Światowej. Do złamania kodu Enigmy przyczynili się w znacznej mierze polscy matematycy we współpracy z matematykami angielskimi, na których czele stał geniusz matematyczny Alan Turing, uznawany za ojca współczesnych obliczeń komputerowych. Bój o złamanie kodu Enigmy spowodował bowiem powstanie pierwszego komputera cyfrowego w historii.
Sama historia łamania kodu Enigmy jest fascynującą opowieścią historyczną. Próbę jej przekazania podejmuje film Gra Tajemnic z 2014 roku. Szkoda tylko, że twórcy filmu przemilczeli wkład Polaków w prace nad złamaniem szyfru Enigmy.
A tymczasem w opisie wspomnianego filmu na Filmwebie czytamy m.in.:
„W polskich dyskusjach znów wraca motyw, że film nie docenia wkładu polskich kryptologów w złamanie Enigmy. Twórcy filmu faktycznie mogli o tym wspomnieć. Ale też fiksowanie się na tym, że “nas pominięto”, dowodzi strasznych kompleksów i prowincjonalizmu. Jeśli chcemy, by świat wiedział o sukcesach Polskiego Biura Szyfrów, zróbmy o tym dobry film na światowe rynki, nie obrażajmy się na filmy istniejące.”
Pewnie, że zróbmy!
Ale też nie mówmy, że upominanie się o prawdę historyczną dowodzi naszych „Polaczkowych” kompleksów i jakiegoś opóźnienia w rozwoju – no bo tym, wg słownika języka polskiego jest prowincjonalizm.
Panie autorze recenzji, nie obrażaj mnie Pan!
Ochłońmy i przejdźmy już do czasów współczesnych.
Tak na prawdę końcówka XX stulecia, na którą przypada rozwój komputeryzacji a potem internetu, zmieniły zupełnie oblicze kryptografii. Czasem mówi się, że w tym okresie nastąpiły powtórne narodziny kryptografii.
I żeby, nawet pobieżnie, omówić najważniejsze techniki kodowania i szyfrowania potrzeba by kilkugodzinnego wykładu. Dlatego skupmy się na tym co najważniejsze.
W dobie internetu, gdzie istnieją miliardy połączeń pomiędzy komputerami na całym świecie, niezmiernie ważne jest, aby połączenia te były bezpieczne. Pomaga nam w tym m.in. tzw szyfrowanie z kluczem publicznym.
O co w tym chodzi?
Zauważ, że wszystkie sposoby szyfrowania, o których mówiłem do tej pory polegały na tym, że zarówno szyfrujący jak i odczytujący szyfr musieli znać ten sam klucz szyfrowania – były to tzw szyfry symetryczne. Złamanie takiego szyfru sprowadzało się do odgadnięcia zasady/klucza szyfrowania (jak to było w przypadku chociażby Enigmy) lub do wykradnięcia klucza.
Szyfrowanie z użyciem klucza publicznego zalicza się do szyfrów asymetrycznych. Najogólniej polega to na tym, że Twój komputer udostępnia w sieci tzw. klucz publiczny przy pomocy którego każdy może zaszyfrować wiadomość czy dane płynące do Ciebie. Ale odczytanie tego możliwe jest tylko przez Ciebie przy użyciu innego klucza – klucza prywatnego, który zapisany jest na Twoim komputerze.
Bardzo często ataki hakerów oraz działanie wirusów komputerowych mają na celu zdobycie klucza prywatnego z komputera, co oczywiście powoduje spowoduje wyciek często ważnych danych. Dlatego bardzo ważne jest, aby swoje chronić wszelkimi możliwymi sposobami swoje klucze prywatne.
Mam wrażenie, że dzisiejszy świat nie istniał by bez odpowiednich metod szyfrowania. Za każdym razem, gdy używamy przeglądarek internetowych logujemy się Facebooka czy inne na konto, gdy płacimy kartą, rozmawiamy przez komórkę czy oglądamy kablówkę albo słuchamy muzyki, korzystamy z zabezpieczeń kryptograficznych. Nawet gdy skanujemy towary w sklepie korzystamy przy tym z kodu kreskowego.
W ostatnim czasie bardzo popularny stał się np. kod QR. Swoją drogą metoda kodowania QR została opracowana w 1994 roku przez Japończyków tylko po to, aby (przy jej pomocy) szybko identyfikować części samochodowe na linii montażowej.
Lista miejsc, w których współcześnie stosujemy różnego rodzaju zabezpieczenia kryptologiczne wydaje się być nieskończona.
Skoro więc kodowanie i szyfrowanie wykorzystuje się dziś na każdym kroku, czy to oznacza, że znaleźliśmy szyfry nie do złamania?
Jak mówią niektórzy, w nowoczesnej kryptografii jest możliwe stworzenie szyfrów, które naprawdę będą poza zasięgiem wszystkich znanych form kryptoanalizy i zasięgiem mocy obliczeniowej nawet najszybszych komputerów.
Czy zatem trwająca od tysiąca lat walka pomiędzy kryptografami a kryptoanalitykami dobiegła końca?
No nie do końca! Pod koniec XX wieku pojawił się bowiem nowy, rewolucyjny sposób wykonywania obliczeń – obliczenia kwantowe, który (na razie jeszcze w zasadzie teoretycznie) zapowiada pojawienie się komputerów kwantowych. Komputer kwantowy może mieć moc obliczeniową wystarczającą do złamania dzisiejszych algorytmów szyfrujących. Kryptoanaliza może więc któregoś dnia wrócić do gry.
A już tak na koniec! Jeśli, temat, który dziś poruszyłem chciałbyś zgłębić trochę bardziej, to polecam Ci znakomitą książkę „Matematycy, szpiedzy i hakerzy”, z której częściowo korzystałem przy przygotowywaniu tego materiału.
Jarosław Bigos
Podobał Ci się ten materiał?Jeśli tak, to zarejestruj się aby otrzymywać powiadomienia o nowych artykułach i innych materiałach na moim blogu. Nie martw się, nie rozsyłam spamu i na pewno nikomu nie ujawnię Twojego adresu! |