Szyfr (inaczej kryptograficzny algorytm szyfrujący) – funkcja matematyczna wykorzystywana do szyfrowania tekstu jawnego lub jego deszyfrowania. Zazwyczaj jedna funkcja wykorzystywana jest do szyfrowania, a inna do deszyfrowania wiadomości. Wiadomość przed zaszyfrowaniem nazywana jest tekstem jawnym, zaś wiadomość zaszyfrowaną nazywamy szyfrogramem. Proces zamiany tekstu jawnego na szyfrogram nazywamy szyfrowaniem[1].
Algorytm ograniczony
Algorytmem ograniczonym nazywamy taki algorytm, który zapewnia bezpieczeństwo szyfrogramu tylko wtedy, gdy nie jest znana postać algorytmu (znajomość algorytmu pozwala odszyfrować szyfrogram). Algorytmy te są popularne w zastosowaniach, gdzie wysoki poziom bezpieczeństwa nie jest wymagany[1].
Algorytm z kluczem
Algorytm z kluczem to taki, w którym do zaszyfrowania oraz odszyfrowania wiadomości wykorzystywane są klucze. W przeciwieństwie do algorytmów ograniczonych, bezpieczeństwo wiadomości oparte jest na kluczu. W przypadku wielu algorytmów klucz szyfrujący jest inny niż klucz deszyfrujący[1].
Rodzaje algorytmów szyfrujących z kluczem
Wyróżniamy dwa rodzaje algorytmów kryptograficznych z kluczem[1]:
- Algorytmy symetryczne – w tego rodzaju algorytmach klucz szyfrujący może być wyznaczony z klucza deszyfrującego oraz klucz deszyfrujący może być wyznaczony z klucza szyfrującego.
- Algorytmy z kluczem publicznym – w tych algorytmach klucz szyfrujący (nazywany też kluczem publicznym) jest inny niż klucz deszyfrujący (klucz prywatny) oraz nie można wyznaczyć klucza deszyfrującego z klucza szyfrującego.
Historyczne szyfry
Szyfry historyczne musiały umożliwiać szyfrowanie i deszyfrowanie przez człowieka, a więc opierać się na relatywnie prostych operacjach. Współczesne komputery są o kilkanaście rzędów wielkości szybsze w obliczeniach od ludzi i potrafią złamać praktycznie każdy tego typu szyfr. Istnieją przykłady szyfrów, które są możliwe do stosowania przez człowieka bez użycia komputerów i zapewniają pewien sensowny poziom bezpieczeństwa. Przykładami takich szyfrów są np.: szyfr z kluczem jednorazowym (ang.) one time pad, szyfry podstawieniowe dla krótkich wiadomości, a nawet szyfr Solitaire opisany w powieści pt. Cryptonomicon autorstwa Neala Stephensona.
Wszystkie wymienione niżej szyfry nie mają obecnie żadnego praktycznego znaczenia:
- Enigma
- szyfr podstawieniowy
- szyfr przestawieniowy
- Szachownica Polibiusza
- szyfr zmiennoprzesuwny
- szyfr liczbowy