Szyfry

Szyfry
W 1500 r. p.n.e. na pochodzących z Mezopotamii tabliczkach z pismem klinowym, datowanych na ten właśnie okres, znaleziono zapiski na temat stosowania szyfrów. Tak się zaczęła historia szyfrów.

V wiek p.n.e. - W księgach Herodota pojawiają się fragmenty dotyczące sztuki szyfrowania. Wśród Spartan wykształca się metoda szyfrowania skytale (1). Używano w niej pręta o podstawie wielokąta, na który nadawca nawijał skórzany pas. Wiadomość pisana była wzdłuż pręta, po czym odwijano pas, na którym widać było tylko pozornie bezsensowną sekwencję liter. Odczytanie wiadomości było możliwe przy użyciu skytale o takiej samej grubości, jaką miał pręt nadawcy.

II w. p.n.e. - Grecki pisarz Polibiusz wymyśla stosowany do dziś sposób szyfrowania. Ułożył litery w kwadrat i ponumerował rzędy i kolumny. Każda litera była reprezentowana za pomocą numeru wiersza i numeru kolumny, czyli współrzędnych. Dzięki tej metodzie szyfrowania wiadomości mogły być przekazywane na odległość, np. za pomocą pochodni.

I w. p.n.e. Kolejnym systemem kodowania pochodzącym ze starożytności jest szyfr wymyślony przez Juliusza Cezara (2). Polegał na tym, że zamiast każdej litery pisało się literę występującą w alfabecie trzy miejsca dalej. Jest to typowy szyfr przestawieniowy. Cezar układał swoje wiadomości tak, aby liczba liter w nich była pełnym kwadratem. Potem zapisywał je właśnie w taki kwadrat, pisząc w pionie n liter w n rzędach. Następnie wiadomość przepisywał normalnie, ale rzędami, nie kolumnami. Odbiorca stosował procedurę odwrotną.

800 r. n.e. - Na miano pierwszego kryptoanalityka zasługuje arabski uczony Al-Kindi, odkrywca kryptoanalizy statystycznej. Był to wynalazek na tyle skuteczny, że szyfry (kwadrat Polibiusa, podstawienie monoalfabetyczne i wszystkie pochodne metody) pozostawały bezbronne wobec kryptoanalizy przez kolejnych pięć wieków.

1467 - Szyfry polialfabetyczne opisać można jako połączenie wielu szyfrów monoalfabetycznych. Zawierają wiele alfabetów tajnych, z których każdy szyfruje jeden znak tekstu tajnego. Używane są cyklicznie, a więc po wyczerpaniu wszystkich powraca się do pierwszego i kontynuuje szyfrowanie. Prawdopodobnie pierwszym przypadkiem zastosowania szyfrowania polialfabetycznego był szyfr Leona Battisty Albertiego, włoskiego architekta z XV wieku. Uodpornienie na kryptoanalizę statystyczną polegało tu na ukryciu rozkładu częstości występowania poszczególnych znaków poprzez wiele podstawień. Różne części wiadomości mogły być szyfrowane w inny sposób. Alberti przedstawił też urządzenie uznawane za pierwszą maszynę szyfrującą – dysk szyfrowy (3), składający się z dwóch kół. Na zewnętrznym znajdowały się litery alfabetu jawnego (24 znaki), na wewnętrznym ruchomym umieszczono litery alfabetu szyfrowego.

1553 - Algorytm Vigenère'a (4) jest jednym z klasycznych algorytmów szyfrujących. Należy on do grupy tzw. polialfabetycznych szyfrów podstawieniowych. Szyfr ten błędnie został przypisany twórcy bardziej skomplikowanego szyfru Blaise'owi de Vigenère. Szyfr, który obecnie nazywamy szyfrem Vigenère'a, po raz pierwszy został opisany przez Giovana Batista Belaso w broszurze zatytułowanej „La cifra del. Sig. Giovan Batista Belaso”. Szyfr Vigenere’a polega na tym, że kolejna litera tekstu zaszyfrowanego (czyli kryptogramu) zależy nie tylko od odpowiedniej litery tekstu otwartego, ale również od miejsca, w którym ta litera się znajduje (w tekście otwartym). Weźmy np. ciąg kilku liczb mniejszych od 26 (np. 3, 7, 1, 11, 2). Sposób szyfrowania polega na tym, że zamiast pierwszej litery tekstu piszemy literę znajdującą się w alfabecie trzy miejsca dalej, zamiast drugiej litery tekstu – literę znajdującą się w alfabecie siedem miejsc dalej, zamiast trzeciej — literę znajdującą się pierwsze miejsce dalej, następnie literę znajdującą się jedenaście miejsc dalej, potem dwa miejsca i zaczynamy od początku. Ponieważ nie ma pojedynczego podstawienia, tak jak chociażby w szyfrze Cezara, nie można do tego zastosować metody rozkładu statystycznego.

XVII w. - Za czasów Ludwika XIV Antoine Rossignol wraz z synem opracowali na zlecenie królewskie szyfr znany pod nazwą Grand Chiffre (franc. „wielki/wspaniały szyfr”). Łączył książkę kodów ze sporą tablicą podstawień homofonicznych (5). Podstawienia homofonów dotyczyły zarówno liter, jak i całych wyrazów lub sylab. Popularne wyrazy, takie jak nazwiska znanych osób czy obiekty geograficzne (państwa, miasta, rzeki itd.), miały własne podstawienia homofoniczne (kodowanie). Do tego zastosowano pewne pułapki, jak chociażby „zerowe homofony”, które niczego nie kodowały (po prostu pusty znak), a miały jedynie przeszkadzać w kryptoanalizie. Najpopularniejsza w języku francuskim litera „e” miała aż 131 homofonów (z łącznej puli 711 homofonów, jakie pojawiają się w Grand Chiffre). „Wielki szyfr” Rossignolów złamał dopiero wybitny francuski kryptolog Étienne Bazeries, pod koniec XIX wieku.

1795 - Autorem pierwotnej koncepcji dysku Jeffersona, czyli tzw. szyfru tarczowego, znanego później również pod nazwą Cylindry Bazeriesa, był trzeci prezydent USA, Thomas Jefferson. Jego szyfr jednak się nie upowszechnił. Dla kryptografii przywrócił go na nowo dopiero pogromca Grand Chiffre Étienne Bazeries. Odkrył ideę ponownie, nie wiedząc nic o istnieniu „szyfru tarczowego” Jeffersona! Jego urządzenie miało dwa wsporniki, oś oraz 36 tarcz. Na każdej tarczy mamy 26 liter alfabetu. Litery nie są umieszczone w określonej kolejności, tylko losowo (chociaż oczywiście każdy zestaw ma identyczne tarcze do dyspozycji). Oś jest ruchoma, więc tarcze mogą być ułożone w dowolnej kolejności. Nadawca ustala sobie kolejność, w jakiej tarcze będą ułożone na osi. Ich kolejność staje się naszym kluczem. Nadawca obraca tarcze, aby otrzymać w jednej linii wiadomość, jaką chce zaszyfrować. Do wyboru są aż 25 wersje szyfrogramu, ponieważ szyfrogramem jest dowolna linia inna niż ta z oryginalną wiadomością. Podczas odszyfrowywania zaczynamy od ułożenia tarcz w odpowiedniej kolejności, czyli od zastosowania klucza. Teraz pozostaje nam ułożenie tarcz, tak aby w jednej linii znalazły się litery naszego szyfrogramu. Jeśli znamy przesunięcie, to patrzymy na odpowiednią linię, aby odczytać treść wiadomości.

1863 - Pruski wojskowy, Friedrich W. Kasicki, rozwija i systematyzuje technikę zastosowaną wcześniej przez Charlesa Babbage’a, znanego bardziej jako budowniczy prototypu maszyny liczącej. W swojej książce „Die Geheimschriften und die Dechiffrir-kunst” Kasicki szczegółowo opisuje metodykę łamania polialfabetycznych szyfrów, takich jak np. Vigenère’a, począwszy od wyznaczania okresu klucza, a na analizie wyodrębnionych szyfrów monoalfabetycznych skończywszy. Książka stała się znana dopiero po śmierci autora w roku 1881 r., a opracowaną metodę nazwano mianem analizy Kasickiego.

1917 – Powstaje Szyfr Vernama (tzw. szyfr idealny), należący do grupy szyfrów polialfabetycznych. Gilbert Vernam skonstruował maszynę, która wykorzystuje szyfr z kluczem jednokrotnym, tzn. szyfr, w którym klucz stanowi losową sekwencję znaków i jest używany bez powtórzeń. Dzięki jego maszynie możliwe jest stosowanie szyfrów z kluczem jednokrotnym w systemach komputerowych.

1922 – Cylindry Bazeriesa stają się podstawą do stworzenia urządzenia szyfrującego M-94 (7), używanego później przez armię Stanów Zjednoczonych (w marynarce USA znanego pod nazwą CSP 488). Z koncepcją użycia „cylindrów” wyszedł pułkownik Parker Hitt, który eksperymentował z cylindrami od roku 1914. W 1917 r. major Joseph Mauborgne rozwinął projekt, który ostatecznie w 1922 r. pojawił się jako M-94. Armia USA stosowała to urządzenie do roku 1945.

Lata 30. XX wieku – Powstaje maszyna Lorenza (9) – niemiecka maszyna szyfrująca używana podczas II wojny światowej dla przekazu informacji przez dalekopisy. Brytyjscy analitycy, którzy zakodowane komunikaty dalekopisowe określali kodem Fish (ryba), szyfry maszyny Lorenza i ją samą nazywali Tunny (tuńczyk). O ile Enigma była używana przez jednostki polowe, o tyle Tunny służyła do komunikacji wysokiego szczebla, gdzie można było wykorzystać ciężką maszynę, dalekopis i specjalne łącza. Maszyna Lorenza przypominała Enigmę, ponieważ również korzystała z wirników, lecz działała na innej zasadzie. W kodzie tym każdy znak reprezentowany był w systemie dwójkowym z wykorzystaniem taśmy perforowanej. Jedynce odpowiadała dziura w taśmie, a zeru — jej brak. Przystawka odczytywała jednocześnie dwie taśmy (jedna zawierała tekst jawny, a druga klucz).

1943 - System szyfrowania w maszynie Lorenza był o wiele bardziej wyszukany, niż ten stosowany w Enigmie, jednak Anglicy sobie z tym poradzili. Skonstruowali nowe urządzenie operujące na podobnej zasadzie, jak niemiecki przyrząd. Tak powstał Colossus (10), który opierał się na teoretycznym modelu opracowanym przez Alana Turinga. Był urządzeniem elektronicznym. Zawierał półtora tysiąca lamp i potrafił zapamiętywać dane do dalszego przetwarzania. Czyniło to z niego pierwsze urządzenie, które można nazwać komputerem. Pierwszy model Colossusa oddano do użytku trzy lata przed słynnym ENIAC-iem. Ponieważ jednak jego istnienie owiane było tajemnicą wojskową, świat dowiedział się o nim dopiero w roku 1975, po odtajnieniu dotyczących projektu akt.

Lata 60. - IBM zaczyna prace nad projektem kryptograficznym, zakończone utworzeniem algorytmu Lucifer. W 1973 r. na zapotrzebowanie Narodowego Biura Standardów został on udoskonalony, a w 1977 r. zatwierdzono standard szyfrowania danych DES, jednakże ze zmniejszonym rozmiarem klucza.

1976 – Powstaje protokół uzgadniania kluczy szyfrujących, opracowany przez Witfielda Diffiego oraz Martina Hellmana (12). Oparty jest na kluczach publicznych. Dawało to możliwość zaszyfrowania informacji przez dowolną osobę za pomocą klucza jawnego, natomiast odszyfrować mogła ją tylko osoba mająca swój klucz prywatny, związany z kluczem jawnym. Jego siła oparta jest na trudności obliczenia logarytmów dyskretnych w ciałach skończonych. Klucz uzgodniony za pomocą tego algorytmu może zostać wykorzystany do szyfrowania komunikacji.

1984 - Charles H. Bennett z IBM Watson Research Center oraz Gilles Brassard z Uniwersytetu w Montrealu prezentują wykluczający możliwość podsłuchu protokół szyfrowania informacji BB84 (11). Polega na przesyłaniu pojedynczych, losowo spolaryzowanych fotonów. Włamywacz nie jest w stanie skopiować stanu fotonu bez jego zaburzenia, co oznacza, że każda próba ingerencji zostanie wykryta. Umowny początek kryptologii kwantowej.

1997 - Amerykański NIST ogłosił poszukiwania nowego standardu szyfrowania danych AES (Advanced Encryption Standard), określając minimalne wymogi. Spośród wszystkich projektów najlepszą ocenę uzyskał Rijndael i został wybrany nowym standardem szyfrowania danych (AES).

2000 - Pierwsze komercyjne zestawy do kryptografii kwantowej pojawiają się na targach CeBIT w Hanowerze.

2002 - Nicolas Gisin tworzy – wg opracowanego przez Bennetta i Brassarda protokołu BB84 – bezpieczny klucz kwantowy między odległymi od siebie o 67 km szwajcarskimi miastami Genewą i Lozanną.

2004 - Fizyk Anton Zeilinger zrealizował pierwszy czek bankowy zabezpieczony kryptologią kwantową.