Tytuł oryginału:

CRYPTOGRAPHY A Very Short Introduction was originally published in English in 2002. This translation is published by arrangement with Oxford University Press. Polish Scientific Publishers PWN is solely responsible for this translation from the original work and Oxford University Press shall have no liability for any errors, omissions or inaccuracies or ambiguities in such translation of for any losses caused by reliance thereon.

© Fred Piper and Sean Murphy 2002

The moral rights of the author have been asserted.

First published in 2002

Wydanie polskie:

Przekład: Wojciech Fenrich na zlecenie WITKOM Witold Sikorski

Projekt okładki i strony tytułowej: Lidia Michalak

Wydawca: Wioleta Szczygielska-Dybciak

Redaktor prowadzący: Monika Zabrocka-Kutera

Redaktor: Diana Halida

Koordynator produkcji: Anna Bączkowska

Skład wersji elektronicznej na zlecenie Wydawnictwo Naukowe PWN S.A. Michał Latusek

Konsultant merytoryczny: Krystian Matusiewicz

Zastrzeżonych nazw firm i produktów użyto w książce wyłącznie w celu identyfikacji.

Książka, którą nabyłeś, jest dziełem twórcy i wydawcy. Prosimy, abyś przestrzegał praw, jakie im przysługują. Jej zawartość możesz udostępnić nieodpłatnie osobom bliskim lub osobiście znanym. Ale nie publikuj jej w internecie. Jeśli cytujesz jej fragmenty, nie zmieniaj ich treści i koniecznie zaznacz, czyje to dzieło. A kopiując jej część, rób to jedynie na użytek osobisty.

Szanujmy cudzą własność i prawo

Więcej na www.legalnakultura.pl

Polska Izba Książki

Copyright © for the Polish edition by Wydawnictwo Naukowe PWN S.A.

Warszawa 2022

ISBN 978-83-01-22278-9

eBook został przygotowany na podstawie wydania papierowego z 2022r. (Wydanie I)

Warszawa 2022

Wydawnictwo Naukowe PWN SA

02-460 Warszawa, ul. Gottlieba Daimlera 2

tel. 22 69 54 321; faks 22 69 54 288;

infolinia 801 33 33 88

e-mail: pwn@pwn.com.pl; reklama@pwn.pl

www.pwn.pl

Podziękowania

Książka ta ewoluowała przez wiele lat i wiele osób przedstawiało nam swoje cenne uwagi oraz sugestie. Dziękujemy im wszystkim. Jesteśmy szczególnie wdzięczni Gerry’emu Cole’owi, Rossowi Patelowi i Peterowi Wildowi za przeczytanie ostatecznej wersji roboczej. Z kolei Adrian Culley i Stefani Ioannidou uratowali nas przed zakłopotaniem dzięki poprawieniu niektórych naszych ćwiczeń. Jesteśmy również wdzięczni Kazui Ohcie i Yu Sasakiemu, którzy dali nam znać o dalszych nieścisłościach podczas przygotowywania japońskiego tłumaczenia tej książki. Przede wszystkim doceniamy wkład Pauline Stoner, która zdołała przetworzyć pozornie przypadkowe bazgroły, przez co nadała im czytelny format. Jej cierpliwość była często wystawiana na próbę i bez niej książki tej nie udałoby się ukończyć.

Bezpłatny fragment

Podziękowania

Rozdział 1. Wprowadzenie

Jak korzystać z tej książki

Rozdział 2. Zrozumieć kryptografię

Wprowadzenie

Podstawowe koncepcje

Rozdział 3. Historyczne algorytmy: proste przykłady

Wprowadzenie

Szyfr Cezara

Proste szyfry podstawieniowe

Statystyki języka angielskiego

Szyfr Playfaira

Szyfrowanie homofoniczne

Szyfry polialfabetyczne

Szyfr Vigenère’a

Szyfry transpozycyjne

Superszyfrowanie

Kilka wniosków

Dodatek

Rozdział 4. Szyfry nie do złamania?

Wprowadzenie

Poufność doskonała

Szyfr z kluczem jednorazowym

Rozdział 5. Współczesne algorytmy

Wprowadzenie

Ciągi bitów

Szyfry strumieniowe

Szyfry blokowe (tryb ECB)

Funkcje skrótu

Systemy z kluczem publicznym

Rozdział 6. Bezpieczeństwo w praktyce

Wprowadzenie

Realistyczne bezpieczeństwo

Wyczerpujące poszukiwania klucza w praktyce

Ataki na systemy z kluczem publicznym

Rozdział 7. Zastosowania kryptografii

Wprowadzenie

Zastosowanie algorytmów symetrycznych dla zapewnienia poufności

Uwierzytelnienie

Zastosowanie algorytmów symetrycznych w celu uwierzytelnienia i zapewnienia integralności danych

Podpisy cyfrowe

Urzędy certyfikacji

Infrastruktura Klucza Publicznego

Potrzeba zaufania

Rozdział 8. Zarządzanie kluczami

Wprowadzenie

Cykl życia klucza

Generowanie klucza

Dystrybucja i przechowywanie klucza

Ustalanie klucza

Zastosowania klucza

Zmiana kluczy

Niszczenie klucza

Hierarchie kluczy

Zarządzanie kluczami w sieciach

Wykorzystanie zaufanego centrum zarządzania

Odzyskiwanie klucza i jego kopie zapasowe

Rozdział 9. Kryptografia w życiu codziennym

Wprowadzenie

Wypłacanie gotówki z bankomatu

Płatna telewizja

PGP – całkiem niezła prywatność

PGP keys

Encrypt

Sign

Encrypt and Sign

Bezpieczne przeglądanie sieci

Wykorzystanie telefonu komórkowego GSM

Bibliografia i dalsze lektury

Przypisy

ROZDZIAŁ 1

Wprowadzenie

Większość ludzi zakleja kopertę przed wysłaniem listu. Gdyby zapytać ich, dlaczego tak robią, wśród odpowiedzi znalazłyby się zapewne komentarze takie jak: „Tak naprawdę to nie wiem”, „Taki nawyk”, „A dlaczego nie?” lub „Bo wszyscy tak robią”. Lepiej uzasadnione odpowiedzi mogłoby brzmieć: „Żeby zapobiec wypadnięciu listu” lub „Żeby powstrzymać ludzi przed jego przeczytaniem”. Nawet jeśli listy nie zawierają żadnych wrażliwych czy bardzo osobistych informacji, wielu z nas lubi myśleć, że treść naszej korespondencji jest prywatna i że zaklejenie koperty zabezpiecza ją przed wszystkimi z wyjątkiem tego odbiorcy, dla którego jest przeznaczona. Gdybyśmy wysłali nasze listy w niezaklejonych kopertach, każdy, kto wszedłby w posiadanie koperty, mógłby również przeczytać ich treść. Czy skorzystałby z takiej możliwości, czy nie – to osobna kwestia. Sęk w tym, że nie podlega dyskusji, iż każdy mógłby to zrobić, gdyby tylko zechciał. Co więcej, gdyby ktoś podmienił list znajdujący się w kopercie, nie wiedzielibyśmy, że tak się stało.

Dla wielu ludzi e-mail stanowi obecnie alternatywę dla listów wysyłanych tradycyjną pocztą. Jest to szybki środek komunikacji, ale nie ma w nim rzecz jasna kopert chroniących wiadomości. W rzeczywistości często powiada się, że wysłanie wiadomości e-mail jest jak wysłanie listu bez koperty. Najwyraźniej każdy, kto chciałby wysłać poufną, a może po prostu osobistą wiadomość za pośrednictwem e-maila, musi znaleźć sobie inne środki jej ochrony. Często spotykane rozwiązanie polega na wykorzystaniu kryptografii i zaszyfrowaniu wiadomości.

Jeśli zaszyfrowana wiadomość wpadnie w ręce kogoś innego niż jej zamierzony odbiorca, powinna wydać się nieczytelna. Wykorzystanie szyfrowania dla ochrony e-maili nie jest jeszcze szczególnie powszechne, staje się jednak coraz częstsze i ten trend przypuszczalnie będzie trwać. I rzeczywiście, w maju 2001 roku grupa europejskich parlamentarzystów zarekomendowała, by użytkownicy komputerów w całej Europie szyfrowali wszystkie swoje e-maile, żeby „uniknąć podsłuchu przez brytyjsko-amerykańską sieć szpiegowską”.

Kryptografia jest powszechnie uznaną dyscypliną nauki, od ponad 2000 lat mającą istotny wpływ na wydarzenia historyczne. Tradycyjnie jej głównymi użytkownikami były rządy i wojsko, choć warto zaznaczyć, że i Kamasutra zawiera rekomendację, by kobiety studiowały „sztukę rozumienia zapisu szyfrowego” (wszystkie szczegóły cytowanych dzieł podane są w rozdziale Bibliografia i dalsze lektury).

Wpływ kryptografii na historię jest dobrze udokumentowany. Najważniejszą książką na ten temat jest bez wątpienia pozycja The Codebreakers autorstwa Davida Khana. Liczy ona ponad 1000 stron i po raz pierwszy została wydana w 1967 roku. Powiadano o niej, że to „pierwsza wyczerpująca historia sekretnej komunikacji” i że nie można się od niej oderwać. Nieco później Simon Singh napisał krótszą książkę zatytułowaną The Code Book[1]. Jest to łatwa w odbiorze relacja z wybranych najistotniejszych wydarzeń historycznych. Nie jest tak wyczerpująca jak książka Kahna, jednak pomyślano ją w taki sposób, by pobudzić zainteresowanie tą tematyką wśród laików. I jedna, i druga to znakomite, godne polecenia pozycje.

Uznanie za popularyzację i coraz lepsze zrozumienie historycznego znaczenia kryptografii należy się nie tylko literaturze. W wielu muzeach i innych miejscach interesujących z perspektywy historycznej wystawiane są stare maszyny szyfrujące. Wysoko na liście takich miejsc znajduje się angielskie Bletchley Park, uważane przez wielu za matecznik współczesnej kryptografii i komputerowego przetwarzania danych. To tu Alan Turing i jego zespół złamali szyfr Enigmy, a ich środowisko pracy zostało zachowane w charakterze pomnika ich niesamowitych osiągnięć[2]. Wiele współczesnych filmów poświęconych II wojnie światowej podkreśla wagę łamania kodu. Szczególnie dużo uwagi poświęcono wpływowi wywołanemu przez złamanie szyfrów Enigmy oraz złamaniu zaszyfrowanych wiadomości tuż przed atakiem na Pearl Harbor. Powstało również wiele seriali telewizyjnych na ten temat. Wszystko to znaczy, że miliony ludzi na całym świecie miały okazję zaznajomić się z pojęciem szyfrowania wiadomości w celu zachowania ich w sekrecie oraz ze skutkami, jakie może nieść ze sobą złamanie tych szyfrów. Jednak dla wielu z nich ścisłe znaczenie użytych terminów pozostaje zagadką, a ich rozumienie jest ograniczone. Celem tej książki jest poprawa tej sytuacji przez nietechniczne wprowadzenie do kryptologii – sztuki i nauki tworzenia i łamania kodów. Czytelnicy będą mogli wrócić do tych książek, filmów i seriali wyposażeni w dodatkową wiedzę, która sprawi, że staną się bardziej zrozumiałe i w rezultacie sprawią większą frajdę.

Przed latami 70. XX wieku kryptografia stanowiła tajemną naukę, którą rozumieli i praktykowali nieliczni, pracujący dla rządu i wojska. Obecnie jest to posiadająca solidny fundament dyscyplina naukowa, której naucza się na wielu uniwersytetach. Mogą z niej również szeroko korzystać przedsiębiorstwa i pojedyncze osoby. Na to przeobrażenie wpływało wiele czynników. Dwa najbardziej oczywiste z nich to postępująca automatyzacja procesów biznesowych oraz powstanie kanału komunikacyjnego w postaci Internetu. Przedsiębiorstwa chcą za pośrednictwem Internetu handlować ze sobą nawzajem i sprzedawać towary klientom. Rządy chcą się komunikować z obywatelami za pośrednictwem Internetu na przykład po to, aby deklaracje podatkowe mogły być składane elektronicznie.

Choć bez wątpienia popularność handlu elektronicznego rośnie, obawy dotyczące bezpieczeństwa są często przywoływane jako jedna z najważniejszych przeszkód dla jego pełnej akceptacji. Skupiliśmy się już na problemach związanych z poufnymi informacjami, ale poufność często nie jest najważniejszą z trosk.

Jeśli dwie osoby komunikują się za pośrednictwem publicznej sieci i nie mogą widzieć się wzajemnie, nie od razu jest oczywiste, w jaki sposób każda z nich mogłaby ustalić tożsamość drugiej strony. Jest jednak jasne, że każdy, kto odebrałby wiadomość za pomocą jakiejś sieci, może chcieć się przekonać, że zna tożsamość nadawcy i że ma pewność, iż odebrana wiadomość jest identyczna z tą, jaką przesłał jej autor. Co więcej, może dojść do sytuacji, w której odbiorca musi być pewien, że nadawca nie będzie mógł później zaprzeczyć wysłaniu wiadomości i stwierdzić, iż jej treść była inna. Są to ważne i niełatwe do rozwikłania kwestie.

W tradycyjnych, niezautomatyzowanych środowiskach biznesowych często polega się na odręcznych podpisach, by zyskać pewność we wszystkich trzech tych kwestiach. Jedno z najważniejszych wyzwań, jakim fachowcy od bezpieczeństwa musieli ostatnio stawić czoło, polega na odnalezieniu „elektronicznych ekwiwalentów” mogących zastąpić społeczne mechanizmy takie jak wzajemne rozpoznawanie swoich twarzy czy wykorzystanie odręcznych podpisów, z których musimy zrezygnować, jeśli przechodzimy do transakcji cyfrowych. Mimo tego, że kryptografia nie wiąże się w jakiś oczywisty sposób z potrzebą zachowania pewnych informacji w sekrecie, stała się ważnym narzędziem pozwalającym sprostać temu wyzwaniu. W opublikowanym w 1976 roku artykule zatytułowanym adekwatnie Nowe kierunki w kryptografii (ang. New Directions in Cryptography) Whitfield Diffie oraz Martin Hellman zaproponowali, w jaki sposób można wykorzystać kryptografię do stworzenia elektronicznego ekwiwalentu odręcznego podpisu. Nie sposób przecenić znaczenia tego artykułu. Przed jego opublikowaniem korzystano z kryptografii, by dać użytkownikom pewność, że ich wiadomości nie zostały zmienione w trakcie przekazu. Opierało się to jednak na wzajemnym zaufaniu pomiędzy komunikującymi się stronami. Nie było to problemem dla instytucji finansowych, które w latach 60. i 70. XX wieku należały do jej najważniejszych użytkowników, ale środowiska, w których można ją było zastosować, z pewnością były ograniczone.

W ciągu ostatnich trzech dekad kryptografia przeszła znaczną przemianę. Nie tylko zmieniła się technika, ale też poszerzył się zakres zastosowań. Co więcej, prawdopodobnie każdy używa jej bezpośrednio albo jej użycie ma na niego wpływ. Wszyscy musimy zrozumieć, w jaki sposób działa i co pozwala osiągnąć.

Jak korzystać z tej książki

Niniejsza książka daje wstępny, ogólny ogląd tego, czym jest kryptografia. Ma ona nietechniczny charakter i napisana została przede wszystkim z myślą o laikach. Matematycy i informatycy chcący zgłębić techniczne aspekty kryptografii mają już w czym przebierać. Podstawy teorii projektowania i analizy algorytmów szyfrujących są dobrze udokumentowane, a na rynku dostępnych jest wiele podręczników poświęconych tej kwestii. (Naszym zdaniem standardowym odniesieniem jest tu Handbook of Applied Cryptography autorstwa Alfreda Menezesa, Paula van Oorschota oraz Scotta Vanstone’a[3]).Ta książka nie ma być kolejnym z nich. Nie skupia się na technicznych kwestiach związanych z projektowaniem algorytmów, ale na tym, jak i do czego wykorzystuje się algorytmy. Jeśli zainspiruje czytelników posiadających odpowiednie zaplecze matematyczne do sięgnięcia po bardziej specjalistyczne, techniczne podręczniki, osiągnie jeden ze stawianych jej celów. Przede wszystkim jednak ma ona na celu usunięcie aury tajemniczości otaczającej kryptografię oraz pokonanie strachu, z jakim odnosi się do niej wiele osób niemających matematycznego przygotowania.

Niniejsza książka oparta jest na kursie prowadzonym na studiach magisterskich na kierunku Bezpieczeństwo informacji w Royal Holloway, University of London. Kurs nosił tytuł Zrozumieć kryptografię, ale został on zmieniony na Wprowadzenie do kryptografii i mechanizmów bezpieczeństwa. Zainteresowania i dotychczasowe doświadczenia studentów uczestniczących w tym kursie są zróżnicowane, ale większość z nich zamierza praktykować w zawodach związanych z bezpieczeństwem, na przykład jako menedżerowie bezpieczeństwa IT czy konsultanci do spraw bezpieczeństwa. Większość z nich nie planuje zostać profesjonalnymi kryptografami. W rzeczywistości w momencie rozpoczęcia zajęć uważają oni kryptografię za zło konieczne, które trzeba ścierpieć, by zdobyć kwalifikacje z zakresu bezpieczeństwa informacji. Mimo że my, autorzy, nie możemy uważać tego przedmiotu za „zło”, na pewno prawdą jest, że kryptografii należy uczyć się w kontekście uwzględniającym tworzenie bezpiecznych systemów, a nie jako niezależnego przedmiotu zawieszonego w próżni. To właśnie ta postawa usprawiedliwia twierdzenie, że ogólnie rzecz biorąc, dla osób zawodowo zajmujących się bezpieczeństwem ważniejsze jest zrozumienie kluczowych kwestii z dziedziny zarządzania niż umiejętność matematycznej analizy systemów kryptograficznych.

W wypadku tych czytelników, którzy nie mają zamiaru zajmować się zawodowo bezpieczeństwem, niniejsza książka stawia sobie za cel przedstawienie kryptografii jako interesującego i ważkiego tematu. Powinna ona umożliwić czytelnikowi zrozumienie terminologii zawartej w licznych książkach historycznych oraz filmach poświęconych kryptografii, a także docenienie wpływu, jaki kryptografia wywarła na naszą historię i jaki prawdopodobnie wywrze na naszą przyszłość. Powinna również ułatwić zrozumienie kłopotów, jakie szersza dostępność kryptografii sprawia rządom i organom ścigania.

Trudno wątpić w to, że próba złamania prostych kodów pozwala lepiej zrozumieć kryptografię. Może też sprawić frajdę. Tak więc choć nie jest to podręcznik, książka ta zawiera pewną liczbę „ćwiczeń” stanowiących dla czytelnika zaproszenie do złamania niektórych algorytmów. Jeśli komuś się to nie uda, nie powinno to powstrzymać tej osoby przed ukończeniem tej książki. Niemniej poważne podejście do rozwiązania tych problemów prawdopodobnie warte jest trudu. Ćwiczenia polegają zwykle na zastępowaniu liter, a ich wykonanie nie wymaga znajomości matematyki.

Mimo tego, że zrozumienie tej książki nie wymaga żadnej uprzedniej wiedzy matematycznej, nie ma co zaprzeczać, że współczesne systemy kryptograficzne niemal zawsze korzystają z technik matematycznych. Co więcej, większość współczesnych algorytmów operuje na liczbach binarnych (bitach), a nie na literach alfabetu. Zdając sobie z tego sprawę, włączyliśmy do Rozdziału 3 krótki dodatek zawierający trochę podstawowych informacji matematycznych, które mogą się przydać. Raz jeszcze zachęcamy czytelników, by spróbowali je przyswoić, i zapewniamy, że nie są one kluczowe dla dalszych części tej książki.

Przypisy

[1] Wydanie polskie: S. Singh, Księga Szyfrów, przeł. P. Amsterdamski, Warszawa 2003 [przyp. tłum.].

[2] Do rozszyfrowania Enigmy w znacznym stopniu przyczynili się trzej polscy matematycy: Henryk Zygalski, Jerzy Różycki i Marian Rejewski, pracownicy Biura Szyfrów Sztabu Głównego Wojska Polskiego. To oni jako pierwsi w grudniu 1932 roku złamali szyfr Enigmy. Po rozpoczęciu II wojny światowej prace nad łamaniem kolejnych wersji i udoskonaleń szyfru Enigmy kontynuowano m.in. w brytyjskim ośrodku kryptologicznym w Bletchley Park pod kierunkiem Alana Turinga [przyp. red.].

[3] Wydanie polskie: A. J. Menezes, P. C. van Oorschot, S. A. Vanstone, Kryptografia stosowana, przeł. E. Andrukiewicz et al., Warszawa 2005 [przyp. tłum.].