Proste szyfry: opis popularnych kodów i szyfrów

Spisu treści:

Proste szyfry: opis popularnych kodów i szyfrów
Proste szyfry: opis popularnych kodów i szyfrów
Anonim

Potrzeba szyfrowania korespondencji pojawiła się w starożytnym świecie i pojawiły się proste szyfry podstawieniowe. Zaszyfrowane wiadomości decydowały o losach wielu bitew i wpływały na bieg historii. Z biegiem czasu ludzie wymyślali coraz bardziej zaawansowane metody szyfrowania.

Nawiasem mówiąc, kod i szyfr to różne koncepcje. Pierwszy oznacza zastąpienie każdego słowa w wiadomości słowem kodowym. Drugim jest zaszyfrowanie każdego symbolu informacji przy użyciu określonego algorytmu.

Po tym, jak matematyka zaczęła kodować informacje i rozwinęła się teoria kryptografii, naukowcy odkryli wiele przydatnych właściwości tej stosowanej nauki. Na przykład algorytmy dekodujące pomogły odkryć martwe języki, takie jak starożytny Egipt czy łacina.

Steganografia

Steganografia jest starsza niż kodowanie i szyfrowanie. Ta sztuka istnieje od bardzo dawna. Dosłownie oznacza „ukryte pismo” lub „pismo szyfrowe”. Chociaż steganografia nie do końca spełnia definicje kodu lub szyfru, ma na celu ukrywanie informacji przed obcymi osobami.oko.

Steganografia lub kryptografia
Steganografia lub kryptografia

Steganografia to najprostszy szyfr. Typowymi przykładami są połknięte nuty pokryte woskiem lub wiadomość na ogolonej głowie, która chowa się pod wyrośniętymi włosami. Najbardziej wyrazistym przykładem steganografii jest metoda opisana w wielu angielskich (i nie tylko) książkach detektywistycznych, kiedy wiadomości są przekazywane przez gazetę, gdzie litery są dyskretnie oznaczone.

Główną wadą steganografii jest to, że uważny nieznajomy może ją zauważyć. Dlatego, aby uniemożliwić łatwe odczytanie tajnej wiadomości, stosuje się metody szyfrowania i kodowania w połączeniu ze steganografią.

ROT1 i szyfr Cezara

Nazwa tego szyfru to OBRÓĆ 1 literę do przodu i jest znana wielu dzieciom w wieku szkolnym. Jest to prosty szyfr podstawieniowy. Jego istota polega na tym, że każda litera jest szyfrowana poprzez przesunięcie alfabetyczne o 1 literę do przodu. A -> B, B -> C, …, Z -> A. Na przykład szyfrujemy frazę „nasza Nastya głośno płacze” i otrzymujemy „general Obtua dspnlp rmbsheu”.

Szyfr ROT1 można uogólnić na dowolną liczbę przesunięć, wtedy nazywa się go ROTN, gdzie N jest liczbą, o którą należy przesunąć szyfrowanie liter. W tej formie szyfr był znany od czasów starożytnych i nazywany jest „szyfrem Cezara”.

Dysk cyrylicy dla szyfru Cezara
Dysk cyrylicy dla szyfru Cezara

Szyfr Cezara jest bardzo prosty i szybki, ale jest prostym szyfrem z pojedynczą permutacją i dlatego jest łatwy do złamania. Mając taką wadę, nadaje się tylko do dziecięcych żartów.

Szyfry transpozycyjne lub permutacyjne

Tego typu proste szyfry permutacyjne są poważniejsze i były aktywnie używane nie tak dawno temu. Podczas wojny secesyjnej i I wojny światowej był używany do wysyłania wiadomości. Jego algorytm polega na przestawianiu liter w miejscach - napisz wiadomość w odwrotnej kolejności lub przestawiaj litery parami. Na przykład zaszyfrujmy frazę „Kod Morse'a jest również szyfrem” -> „akubza ezrom – jeż rfish”.

Dzięki dobremu algorytmowi, który określał dowolne permutacje dla każdego znaku lub ich grupy, szyfr stał się odporny na proste złamanie. Ale! Dopiero w odpowiednim czasie. Ponieważ szyfr można łatwo złamać za pomocą prostej metody brute force lub dopasowywania słownikowego, dziś każdy smartfon może obsłużyć jego odszyfrowanie. Dlatego wraz z pojawieniem się komputerów szyfr ten przeniósł się również do kategorii dzieci.

Kod Morse'a

ABC jest środkiem wymiany informacji, a jego głównym zadaniem jest uczynienie wiadomości łatwiejszymi i bardziej zrozumiałymi do przesłania. Chociaż jest to sprzeczne z przeznaczeniem szyfrowania. Niemniej jednak działa jak najprostsze szyfry. W systemie Morse'a każda litera, cyfra i znak interpunkcyjny mają swój własny kod, składający się z grupy kresek i kropek. Podczas wysyłania wiadomości za pomocą telegrafu kreski i kropki oznaczają długie i krótkie sygnały.

Cyrylica i łacina alfabetem Morse'a
Cyrylica i łacina alfabetem Morse'a

Telegraf i kod Morse'a… Morse był tym, który pierwszy opatentował „swój” wynalazek w 1840 roku, chociaż podobne urządzenia zostały wynalezione w Rosji i Anglii przed nim. Ale kogo to teraz obchodzi… Telegraf i alfabetAlfabet Morse'a miał bardzo duży wpływ na świat, umożliwiając niemal natychmiastową transmisję wiadomości na odległości kontynentalne.

Podstawienie jednoalfabetyczne

Opisany powyżej kod ROTN i Morse'a to przykłady monoalfabetycznych czcionek zastępczych. Prefiks „mono” oznacza, że podczas szyfrowania każda litera oryginalnej wiadomości jest zastępowana inną literą lub kodem z jedynego alfabetu szyfrowania.

Rozszyfrowanie prostych szyfrów podstawieniowych nie jest trudne i to jest ich główna wada. Rozwiązuje się je przez proste wyliczenie lub analizę częstotliwościową. Na przykład wiadomo, że najczęściej używanymi literami języka rosyjskiego są „o”, „a”, „i”. Można więc przyjąć, że w szyfrogramie litery występujące najczęściej oznaczają „o”, „a” lub „i”. Na podstawie tych rozważań wiadomość może zostać odszyfrowana nawet bez przeszukiwania komputera.

Wiadomo, że Maria I, Królowa Szkotów od 1561 do 1567, używała bardzo złożonego monoalfabetycznego szyfru podstawienia z kilkoma kombinacjami. Jednak jej wrogowie byli w stanie rozszyfrować wiadomości, a informacje wystarczyły, by skazać królową na śmierć.

szyfr Gronsfelda lub podstawienie polialfabetyczne

Proste szyfry są uznawane przez kryptografię za bezużyteczne. Dlatego wiele z nich zostało ulepszonych. Szyfr Gronsfelda jest modyfikacją szyfru Cezara. Metoda ta jest znacznie bardziej odporna na włamania i polega na tym, że każdy znak zaszyfrowanej informacji jest szyfrowany przy użyciu jednego z różnych alfabetów, które są cyklicznie powtarzane. Można powiedzieć, że jest to aplikacja wielowymiarowanajprostszy szyfr podstawieniowy. W rzeczywistości szyfr Gronsfelda jest bardzo podobny do szyfru Vigenère'a omówionego poniżej.

Algorytm szyfrowania ADFGX

To najsłynniejszy szyfr z I wojny światowej używany przez Niemców. Szyfr otrzymał swoją nazwę, ponieważ algorytm szyfrowania doprowadził wszystkie szyfrogramy do naprzemiennego występowania tych liter. O wyborze samych liter decydowała ich wygoda podczas transmisji za pośrednictwem linii telegraficznych. Każda litera w szyfrze jest reprezentowana przez dwie. Przyjrzyjmy się ciekawszej wersji kwadratu ADFGX, która zawiera liczby i nazywa się ADFGVX.

A D F G V X
A J Q A 5 H D
D 2 E R V 9 Z
F 8 T I N K V
G U P B F 6 O
V 4 G X S 3 T
X W L Q 7 C 0

Algorytm do kwadratu ADFGX wygląda następująco:

  1. Wybierz losowo n liter dla kolumn i wierszy.
  2. Budowanie macierzy N x N.
  3. Wprowadź alfabet, cyfry, znaki losowo rozrzucone po komórkach do macierzy.

Zróbmy podobny kwadrat dla języka rosyjskiego. Na przykład utwórzmy kwadrat ABCD:

A B B G D
A E/E N b/b A I/T
B W V/F G/R З D
B Sz/Sz B L X I
G R M O Yu P
D F T T S U

Ta macierz wygląda dziwnie, ponieważ rząd komórek zawiera dwie litery. To jest do przyjęcia, sens przesłania nie jest tracony. Można go łatwo przywrócić. Zaszyfruj frazę „szyfr kompaktowy”, korzystając z tej tabeli:

1 2 3 4 5 6 7 8 9 10 11 12 13 14
Zdanie K O M P A K T N S T Ш & F R
Szyfr bw gv pl gdzie ag bw db ab dg piekło wa piekło bb ha

Tak więc ostateczna zaszyfrowana wiadomość wygląda tak: "bvgvgbgdagbvdbabdgvdvaadbbga". Oczywiście Niemcy przeprowadzili podobną linię za pomocą kilku innych szyfrów. I w końcu wyszło bardzo stabilniezłamać zaszyfrowaną wiadomość.

Szyfr Vigenère

Ten szyfr jest o rząd wielkości bardziej odporny na złamanie niż szyfry jednoalfabetyczne, chociaż jest to prosty szyfr zastępujący tekst. Jednak ze względu na solidny algorytm przez długi czas uważano, że hakowanie jest niemożliwe. Pierwsza wzmianka o nim pochodzi z XVI wieku. Vigenère (francuski dyplomata) jest błędnie uznawany za jego wynalazcę. Aby lepiej zrozumieć, o co toczy się gra, rozważ tabelę Vigenère (kwadrat Vigenère, tabula recta) dla języka rosyjskiego.

Tablica Vigenère z alfabetem rosyjskim
Tablica Vigenère z alfabetem rosyjskim

Zacznijmy kodować frazę „Kasperowicz się śmieje”. Ale aby szyfrowanie się powiodło, potrzebne jest słowo kluczowe – niech to będzie „hasło”. Teraz zacznijmy szyfrowanie. Aby to zrobić, wpisujemy klucz tyle razy, aby liczba liter z niego odpowiadała liczbie liter w zaszyfrowanej frazie, powtarzając klucz lub wycinając:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Zdanie: K A С P E R O B & W С M E E T С I
Klucz P A R O L b P A R O L b P A R O L

Teraz, korzystając z tabeli Vigenère'a, podobnie jak w płaszczyźnie współrzędnych, szukamy komórki będącej przecięciem par liter i otrzymujemy: K + P=b, A + A=B, C + P=C itd.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Szyfr: b B B Yu С N Yu G Sch F E T X F G A L

Otrzymujemy, że "Kasperowicz się śmieje"="bvusnyugschzh eykhzhgal".

Złamanie szyfru Vigenère jest tak trudne, ponieważ analiza częstotliwości musi znać długość słowa kluczowego, aby zadziałała. Tak więc hack polega na losowym wrzuceniu długości słowa kluczowego i próbie złamania tajnej wiadomości.

Należy również wspomnieć, że oprócz całkowicie losowego klucza można użyć zupełnie innej tabeli Vigenère. W tym przypadku kwadrat Vigenère składa się z pisanego linijka po linijce alfabetu rosyjskiego z przesunięciem o jeden. Co odsyła nas do szyfru ROT1. I tak jak w szyfrze Cezara, offset może być dowolny. Co więcej, kolejność liter nie musi być alfabetyczna. W tym przypadku sama tabela może być kluczem, bez wiedzy o której nie będzie można odczytać wiadomości, nawet znając klucz.

Kody

Prawdziwe kody składają się z dopasowań dla każdegosłowa odrębnego kodu. Do pracy z nimi potrzebne są tzw. książki kodowe. W rzeczywistości jest to ten sam słownik, zawierający jedynie tłumaczenia słów na kody. Typowym i uproszczonym przykładem kodów jest tablica ASCII - międzynarodowy szyfr prostych znaków.

Tabela kodów ASCII
Tabela kodów ASCII

Główną zaletą kodów jest to, że są bardzo trudne do rozszyfrowania. Analiza częstotliwości prawie nie działa, gdy zostaną zhakowane. Słabością kodeksów są w rzeczywistości same książki. Po pierwsze ich przygotowanie to złożony i kosztowny proces. Po drugie, dla wrogów zamieniają się one w pożądany obiekt, a przechwycenie nawet części księgi zmusza do całkowitej zmiany wszystkich kodów.

W XX wieku wiele stanów używało kodów do przesyłania tajnych danych, zmieniając księgę kodów po pewnym czasie. A także aktywnie polowali na książki sąsiadów i przeciwników.

Enigma

Wszyscy wiedzą, że Enigma była główną maszyną szyfrującą nazistów podczas II wojny światowej. Konstrukcja Enigmy obejmuje kombinację obwodów elektrycznych i mechanicznych. To, jak wyjdzie szyfr, zależy od początkowej konfiguracji Enigmy. Jednocześnie Enigma automatycznie zmienia swoją konfigurację podczas pracy, szyfrując jedną wiadomość na kilka sposobów na całej jej długości.

W przeciwieństwie do najprostszych szyfrów, "Enigma" dała biliony możliwych kombinacji, co sprawiło, że złamanie zaszyfrowanych informacji było prawie niemożliwe. Z kolei naziści na każdy dzień przygotowali pewną kombinację, którąużywane w określonym dniu do wysyłania wiadomości. Dlatego nawet jeśli Enigma wpadła w ręce wroga, nie robiła nic, by odszyfrować wiadomości bez codziennego wprowadzania prawidłowej konfiguracji.

Nazistowska maszyna szyfrująca Enigma
Nazistowska maszyna szyfrująca Enigma

Hakowanie „Enigmy” było aktywnie próbowane podczas całej kampanii wojskowej Hitlera. W Anglii w 1936 zbudowano do tego jedno z pierwszych urządzeń obliczeniowych (maszyna Turinga), które w przyszłości stało się prototypem komputerów. Jego zadaniem było symulowanie działania kilkudziesięciu Enigm jednocześnie i przepuszczanie przez nie przechwyconych nazistowskich wiadomości. Ale nawet maszyna Turinga tylko od czasu do czasu była w stanie złamać wiadomość.

Szyfrowanie kluczem publicznym

Najpopularniejszy z algorytmów szyfrowania, który jest używany wszędzie w technologii i systemach komputerowych. Jego istota polega z reguły na obecności dwóch kluczy, z których jeden jest przekazywany publicznie, a drugi jest tajny (prywatny). Klucz publiczny jest używany do szyfrowania wiadomości, a klucz prywatny jest używany do jej odszyfrowania.

Algorytm szyfrowania klucza publicznego
Algorytm szyfrowania klucza publicznego

Klucz publiczny to najczęściej bardzo duża liczba, która ma tylko dwa dzielniki, nie licząc jednego i samej liczby. Razem te dwa dzielniki tworzą tajny klucz.

Rozważmy prosty przykład. Kluczem publicznym niech będzie 905. Jego dzielnikami będą liczby 1, 5, 181 i 905. Wtedy kluczem tajnym będzie na przykład liczba 5181. Mówisz, że zbyt łatwo? Co jeśli w rolinumer publiczny będzie liczbą 60 cyfr? Matematycznie trudne do obliczenia dzielników dużej liczby.

Aby uzyskać bardziej wyrazisty przykład, wyobraź sobie, że wypłacasz pieniądze z bankomatu. Podczas odczytu karty dane osobowe są szyfrowane pewnym kluczem publicznym, a po stronie banku informacje są odszyfrowywane tajnym kluczem. I ten klucz publiczny można zmienić dla każdej operacji. I nie ma możliwości szybkiego znalezienia kluczowych dzielników podczas przechwytywania.

Wytrzymałość czcionki

Siła kryptograficzna algorytmu szyfrowania to odporność na włamania. Ten parametr jest najważniejszy dla każdego szyfrowania. Oczywiście prosty szyfr podstawieniowy, który można odszyfrować za pomocą dowolnego urządzenia elektronicznego, jest jednym z najbardziej niestabilnych.

Dziś nie ma jednolitych standardów, według których można by ocenić siłę szyfru. To żmudny i długi proces. Istnieje jednak szereg komisji, które opracowały normy w tej dziedzinie. Na przykład minimalne wymagania dla Advanced Encryption Standard lub algorytmu szyfrowania AES opracowanego przez NIST USA.

Dla odniesienia: szyfr Vernama jest uznawany za najbardziej odporny na złamanie szyfr. Jednocześnie jego zaletą jest to, że zgodnie z jego algorytmem jest to najprostszy szyfr.

Zalecana: