Enigma naszych czasów

Informacja jest dziś jednym z najcenniejszych towarów. Gdy tylko człowiek uświadomił sobie jej znaczenie, zaczął ją chronić. W ten sposób narodziła się nowa dziedzina wiedzy – kryptografia. Już Juliusz Cezar kodował swoją korespondencję z Cyceronem. Algorytm szyfrujący Cezara był bardzo prosty i polegał na tym, że każdą literę zastępowano literą stojącą w alfabecie trzy miejsca dalej.

Z czasem pojawiały się coraz bardziej skomplikowane pomysły. Niektóre z nich, jak niemiecka maszyna szyfrująca Enigma, trwale zapisały się w historii. Urządzenie składało się z elektrycznej klawiatury zawierającej 26 znaków, wyświetlacza z taką samą liczbą żarówek podświetlających odpowiednie litery, wirników szyfrujących i łącznicy. Na wirnikach w kształcie walca, osadzonych na wspólnej osi, rozmieszczono 26 elektronicznych styków. Łącznica umożliwiała operatorowi ustalanie połączeń za pomocą wtyczek. Obwód elektryczny zamykał się po naciśnięciu klawisza na klawiaturze. Prąd przepływał przez łącznicę, wirniki, walec, ponownie wirniki, łącznicę i wyświetlacz. Pierwszy wirnik zawsze obracał się o jeden znak, a pozostałe rzadziej, co powodowało, że po naciśnieciu tego samego klawisza za każdym razem na wyświetlaczu pojawiały się różne znaki. Odbiorca zaszyfrowanej wiadomości musiał ustawić wirniki i łącznicę tak samo jak nadawca, by po wpisaniu określonych znaków uzyskać te, które były wprowadzone. Zasada działania Enigmy była jedną z najpilniej strzeżonych tajemnic wojskowych. W 1939 roku szyfr złamali i przekazali wywiadowi brytyjskiemu polscy matematycy z uniwersytetu poznańskiego. Rozszyfrowanie Enigmy bardzo ułatwiło działania aliantów podczas II wojny światowej.

Opowieści z krypty

Kryptografia jest podstawą działania naszego świata. Bez niej nie byłoby bankomatów, telewizji cyfrowej, telefonów komórkowych czy wreszcie systemów komputerowych. Do szyfrowania danych zgromadzonych na dyskach twardych wykorzystywane są programy szyfrujące, specjalne mechanizmy zawarte w systemach operacyjnych oraz sprzętowe szyfratory, czyli urządzenia, w których zaimplementowano algorytmy szyfrujące. Rozwój komputerów i usług oferowanych przez Sieć spowodował, że samo szyfrowanie przestało wystarczać. Wymiana wiadomości pomiędzy użytkownikami Internetu jest narażona na wiele zagrożeń: losowych, takich jak błąd podczas transmisji, oraz celowych, czyli działań ze strony intruzów (patrz: $(LC110545: ramka “Kryptoanaliza – siostra kryptografii”)$). Akcja intruza może mieć charakter podsłuchu pasywnego, który ma na celu poznanie treści przesyłanej wiadomości, lub aktywnego, oznaczającego ingerencję w informację. Dlatego dziś od kryptografii oprócz szyfrowania oczekuje się jeszcze zapewnienia uwierzytelniania, integralności, niezaprzeczalności i poufności (patrz: $(LC110543: ramka “Słowniczek”)$).

Tajne przez poufne

Uwierzytelnieniu nadawcy tradycyjnego dokumentu służy podpis. W przypadku dokumentów cyfrowych funkcję tę przejął podpis elektroniczny (patrz: $(LC20604:Bity zamiast pióra)$). Nadawca może też dołączyć do wiadomości znacznik uwierzytelnienia wiadomości, czyli po prostu liczbę, która będzie równa wartości funkcji dwu zmiennych – wiadomości oraz klucza znanego jedynie rozmówcom. Dzięki temu odbiorca może zweryfikować źródło pochodzenia dokumentu.

Integralność zapewnia odbiorcy możliwość sprawdzenia, czy wiadomość nie została zmodyfikowana podczas transmisji. Nadawca dołącza do wiadomości znacznik integralności będący ciągiem bitów obliczonych na podstawie treści wiadomości. Niezaprzeczalność pozwala ponad wszelką wątpliwość stwierdzić, że działanie zostało podjęte przez odpowiednią osobę. Umożliwia to podpis elektroniczny. Poufność polega na takim przekształceniu informacji, by nie mogła jej odczytać żadna osoba poza właściwym odbiorcą wiadomości. Tu wreszcie wkracza szyfrowanie.

Symetryczna klasyka

W kryptografii tradycyjnej, zwanej też kryptografią z kluczem tajnym, do szyfrowania i deszyfrowania używany jest jeden klucz. Z tego powodu algorytmy bazujące na tej metodzie są nazywane symetrycznymi. Nadawca szyfruje wiadomość za pomocą klucza, a następnie przesyła ją do odbiorcy. Jednocześnie powinien dostarczyć mu klucz deszyfrujący, czyli ten sam, którym szyfrował wiadomość. Rozmówcy mogą też uzgodnić klucz wcześniej, zawsze jednak muszą korzystać przy tym z bezpiecznego kanału transmisji. Poważną wadą tej metody jest trudność w znalezieniu bezpiecznej drogi przekazywania klucza. Jeśli algorytm deszyfrujący dostanie się w ręce osoby niepowołanej, będzie ona mogła nie tylko czytać, ale też preparować wiadomości. Dodatkowo sprawę komplikuje fakt, że klucze powinny być często zmieniane. Do algorytmów symetrycznych należą m.in.: DES, 3DES, IDEA i Blowfish.

Kryptografia pod publiczkę

Alternatywą dla algorytmów symetrycznych są systemy kryptograficzne z dwoma kluczami – prywatnym i publicznym. Jeden służy do zakodowania informacji, drugi do odkodowania. To z ich powodu algorytmy te są nazywane asymetrycznymi. Para kluczy jest przypisana jednemu użytkownikowi. Pierwszy, zwany kluczem publicznym, jest powszechnie udostępniany. Drugi, prywatny, zna tylko ten użytkownik, do którego klucz należy. Nadawca koduje informacje, używając klucza publicznego, i przesyła je do odbiorcy. Wiadomość może zostać odczytana tylko przez właściwego adresata, bo tylko on ma klucz prywatny. W systemach asymetrycznych znika problem uzgadniania klucza między nadawcą a odbiorcą przed nawiązaniem transmisji, gdyż klucze używane po obu stronach są różne. Nadawca może też wykorzystać klucz prywatny do wygenerowania cyfrowego podpisu i nadania wiadomości w sposób gwarantujący niezaprzeczalność. Podpis może być zweryfikowany przez osobę znającą klucz publiczny nadawcy. Przykładami algorytmów asymetrycznych są RSA, ECC i LUC. Algorytm asymetryczny stosuje się w powszechnie znanym programie PGP (patrz: $(LC110551: ramka “PGP, czyli poczta pod ochroną”)$).

Więcej:bezcatnews