Co to jest algorytm szyfrowania?
Szyfrowanie polega na uczynieniu tekstu nieczytelnym w celu bezpiecznego i tajnego przekazania go docelowemu odbiorcy, który używa klucza do odszyfrowania wiadomości. Algorytm szyfrowania to zdefiniowana seria kroków do szyfrowania danych. Oryginalny tekst jest nazywany tekstem jawnym , a po zastosowaniu algorytmu szyfrowania nazywa się go tekstem zaszyfrowanym . Algorytm szyfrowania może być nazywany szyfrem i często otrzymuje nazwę. Na przykład istnieje jeden algorytm szyfrowania o nazwie Blowfish, a drugi o nazwie AES (Advanced Encryption Standard).
Algorytm szyfrowania może zależeć od podstawienia, jak w szyfrze podstawienia lub transpozycji, jak w szyfrze transpozycji. Przykłady znanych wczesnych szyfrów polegały na prostych algorytmach szyfrowania. Na przykład Juliusz Cezar użył szyfru polegającego na podstawieniu, w którym przesunął litery alfabetu, tak aby A było reprezentowane przez D, B było reprezentowane przez E i tak dalej. Ponieważ w alfabecie jest 26 liter, można utworzyć 25 takich szyfrów - 26-ty miałby literę A zastępującą A, co nie jest bardzo tajne. Kluczem do tego szyfru może być liczba przesuniętych miejsc.
Algorytm szyfrowania nie musi jednak używać liter. Może używać cyfr i innych symboli jako zamienników liter. W opowiadaniu „Złoty błąd” Edgar Allen Poe zastosował szyfr zastępczy, w którym algorytm szyfrowania obejmuje tego rodzaju podstawienie, używając symboli.
53 ## + 305)) 6 *; 4826) 4 #.) 4 #); 806 *; 48 + 8¶60)) 85 ;;] 8 *;: # * 8 + 83 (88) 5 * +; 46 (; 88 * 96 * ?; 8) * # (; 485); 5 * + 2: * #
(; 4956 * 2 (5 * -4) 8¶8 *; 4069285);) 6 + 8) 4 ##; 1 (# 9; 48081; 8: 8 # 1; 48 + 85; 4) 485 + 528806 * 81 (# 9; 48; (88; 4 (#? 34; 48) 4 #; 161;: 188; # ?;
Gdyby rozwiązać ten szyfr, można zauważyć, że Poe nie przypisuje symboli do liter w uporządkowany sposób z A = 1, B = 2 itd. W ten sposób algorytm szyfrowania jest nieco bardziej skomplikowany niż algorytm przesuwania alfabetu. Jeśli wymyślisz jedną literę podczas zmiany alfabetu, możesz łatwo wyodrębnić je wszystkie. Jednak algorytm Poego, wiedząc, że A = 5, nie mówi nic o B ani żadnej innej literze.
Algorytmy szyfrowania stosowane w nowoczesnych aplikacjach, takie jak zabezpieczanie transakcji kartami kredytowymi w Internecie, są znacznie bardziej złożone. Klucze mogą mieć długość 256 bitów lub więcej. Jeśli mają zostać złamane, będzie to możliwe tylko przy pomocy komputerów. Gdyby jednak uzyskać klucz szyfrujący, tekst zaszyfrowany mógłby zostać odczytany natychmiast.