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.