Kryptografie představuje silný matematický nástroj, který slouží k ochraně informací v počítačových systémech. Základní operace kryptografie, šifrování a dešifrování, využívá mnoho bezpečnostních aplikací. Citlivá data mohou být díky kryptografii bezpečně přenášena prostřednictvím telekomunikačních sítí bez hrozby neoprávněného zachycení a rozluštění obsahu dat. Šifrování je možné definovat jako proces, po kterém se informace stává nerozluštitelná a zbytečná pro všechny kromě určených příjemců zprávy. Dešifrování představuje inverzní proces k šifrování, tedy jedná se o převod dat zpět do své původní podoby.
Technika kryptografie se využívá v našem každodenním životě. Např. při telefonování, platbě kreditní nebo debetní kartou, výběru peněz z bankomatu, přihlašování se pomocí hesla do počítačových systémů, atd. Kryptografie umožňuje ukládání citlivých informací nebo jejich přenos přes nezabezpečené sítě (jako např. internet) tak, že nikdo kromě určeného příjemce nedokáže přečíst jejich obsah. Kryptografie se stala průmyslovým standardem pro poskytování informační bezpečnosti, důvěrnosti, kontroly přístupu k různým zdrojům a elektronickým transakcím. Na druhou stranu je třeba dodat, že kryptografie sama o sebe není dostatečný prostředek na zabezpečení všech potenciálních hrozeb narušení informační bezpečnosti.
Kryptografický algoritmus, nazývaný též šifra, je jednoduchá posloupnost určitých procesů, které zabraňují šifrování a příslušné dešifrování. Šifra je matematická operace speciálně navržená tak, aby zakryla, resp. znemožnila odhalit obsah dat. Nejúčinnější šifrovací algoritmy pracují s kombinací více klíčů. V případě použití různých klíčů může být stejný otevřený text změněn na různé podoby zašifrovaného textu. Spolehlivý kryptografický algoritmus musí zabezpečit, aby nevznikla možnost získání původního otevřeného textu bez znalosti klíče. Samozřejmě existuje též metoda tzv. hrubé síly, která zkouší všechny možné klíče, dokud nenajde ten správný. Statisticky se správný klíč najde s vysokou pravděpodobností již v první polovině všech zkoušek. Bezpečnost kryptografického systému je ve všeobecnosti postavená na dvou věcech: síle kryptografického algoritmu a utajení klíče.
Počet všech možných klíčů musí být tak velký, že je výpočetně nemožné se současnými prostředky odhalit klíč v rozumném čase. Mnoho šifer zvyšuje svoji bezpečnost vzrůstající délkou klíče. Avšak čím je délka klíče větší, tím je proces výpočetně náročnější, a tedy narůstá i doba šifrování a dešifrování. Proto je důležité vybrat algoritmus na základě porovnání mezi stupněm ochrany a výpočetní náročností algoritmu.
Moderní kryptografické algoritmy mohou být klasifikované podle dvou kritérií: typu klíče a podle způsobu, jakým pracují s daty.
Podle typu klíče se kryptografické algoritmy dělí na:
Hlavní výhoda kryptografie s veřejným klíčem spočívá v tom, že odesílatel a příjemce nepotřebují sdílet tajný klíč přes předem vytvořený zabezpečený kanál; celá komunikace vyžaduje jen přítomnost veřejného klíče, který se může přenášet i přes nezabezpečený kanál.
Podle způsobu, jakým pracuje algoritmus s daty, mohou být šifry klasifikovány jako:
Základní terminologie: