Co to jest algorytm szyfrowania?

Szyfrowanie to nauka polegająca na uczynieniu tekstu nieczytelnym, aby przekazać go w bezpieczny i potajemny sposób do zamierzonego odbiorcy, który używa klucza do odszyfrowania wiadomości. Algorytm szyfrowania to zdefiniowana seria kroków do szyfrowania danych. Tekst oryginalny jest określany jako tekst jawny, a po zastosowaniu do niego algorytmu szyfrowania jest nazywany tekstem zaszyfrowanym. Algorytm szyfrowania może być nazywany szyfrem i często otrzymuje nazwę. Na przykład istnieje jeden algorytm szyfrowania o nazwie Blowfish i inny o nazwie AES (Advanced Encryption Standard).

Algorytm szyfrowania może zależeć od podstawienia, jak w szyfrze podstawienia, lub transpozycji, jak w przypadku szyfrowania transpozycji. Przykłady wczesnych szyfrów, które są znane, opierały się na prostych algorytmach szyfrowania. Na przykład Juliusz Cezar użył szyfru obejmującego podstawienie, w którym przesunął litery alfabetu tak, że A było reprezentowane przez D, B było reprezentowane przez E i tak dalej. Ponieważ w alfabecie jest 26 liter, można stworzyć 25 tego rodzaju szyfrów — 26. miałby zastąpić A, co nie jest bardzo tajne. Kluczem do tego szyfru może być liczba przesuniętych miejsc.

Nie jest jednak konieczne, aby algorytm szyfrowania używał liter. Może używać cyfr i innych symboli jako substytutów liter. W opowiadaniu „The Gold Bug” Edgar Allen Poe użył szyfru podstawieniowego, w którym algorytm szyfrowania obejmuje tego typu podstawienie za pomocą 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 by zauważyć, że Poe nie przypisał symboli do liter w sposób uporządkowany, przy czym A = 1, B = 2 itd. W ten sposób algorytm szyfrowania jest nieco bardziej skomplikowany niż algorytm algorytm przesuwania alfabetu. Jeśli wymyślisz jedną literę w przesunięciu alfabetu, możesz łatwo wyprowadzić 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, takich 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, to tylko przy pomocy komputerów. Gdyby jednak uzyskać klucz szyfru, zaszyfrowany tekst mógłby być natychmiast odczytany.