Klasyfikacja kryptosystemów

Kryptosystemy można klasyfikować według różnych kryteriów, zależnie od ich budowy, funkcji oraz sposobu przetwarzania informacji. Taki podział pozwala lepiej zrozumieć właściwości i zastosowania poszczególnych algorytmów oraz ułatwia dobór odpowiednich metod szyfrowania do konkretnych potrzeb.

Ze względu na rodzaj operacji

Ten podział odnosi się do sposobu przekształcania tekstu jawnego w szyfrogram:

  • Szyfry podstawieniowe – każda litera lub symbol jest zastępowany innym według określonego klucza (np. szyfr Cezara, Vigènere).
  • Szyfry przestawieniowe – kolejność znaków w wiadomości jest zmieniana (np. szyfr kolumnowy, Rail Fence).
  • Szyfry kaskadowe (złożone) – łączą różne typy operacji (np. AES używa zarówno podstawień, jak i permutacji).
  • Przekształcenia matematyczne – stosowane głównie w nowoczesnych szyfrach, opartych na działaniach algebraicznych i teorii liczb (np. RSA, ECC).

Ze względu na liczbę używanych kluczy

Klasyfikacja ta dotyczy liczby i charakterystyki kluczy używanych do szyfrowania i odszyfrowywania:

  • Kryptografia symetryczna – ten sam klucz służy zarówno do szyfrowania, jak i deszyfrowania. Nazywana też kryptografią z tajnym kluczem. Przykłady: AES, ChaCha20, Blowfish.
  • Kryptografia asymetryczna – wykorzystuje parę kluczy: jeden publiczny (do szyfrowania), drugi prywatny (do odszyfrowania). Znana też jako kryptografia z kluczem publicznym. Przykłady: RSA, ElGamal, ECC.

Ze względu na sposób przetwarzania tekstu jawnego

Ten podział odnosi się do tego, jak dane wejściowe są traktowane przez algorytm:

  • Szyfry blokowe – przetwarzają dane w blokach o ustalonej długości (np. 128-bitowych). Algorytm szyfruje każdy blok niezależnie lub w określonym trybie pracy. Przykłady: AES, DES.
  • Szyfry strumieniowe – przetwarzają dane po jednym bicie lub bajcie, często w czasie rzeczywistym. Przykłady: RC4, ChaCha20.

Ze względu na zastosowanie (funkcjonalność)

Kryptosystemy można też sklasyfikować ze względu na ich funkcje i zastosowanie:

  • Szyfrowanie danych – zapewnienie poufności (np. AES, RSA).
  • Podpisy cyfrowe – zapewnienie autentyczności i niezaprzeczalności (np. DSA, ECDSA).
  • Funkcje skrótu – zapewnienie integralności danych (np. SHA-256, BLAKE3).
  • Uwierzytelnianie i protokoły – identyfikacja użytkowników i bezpieczne sesje (np. Kerberos, TLS, OAuth).
  • Schematy hybrydowe – łączące kryptografię symetryczną i asymetryczną (np. protokół TLS, PGP).

References

  • D. E. Robling Denning: Kryptografia i ochrona danych. WNT, Warszawa 1993.
  • W. Stallings: Ochrona danych w sieci i intersieci. W teorii i praktyce. WNT, Warszawa 1997.
  • D. R. Stinson: Kryptografia. WNT, Warszawa, 2005.