Základy kryptografie
Klasifikace kryptografických algoritmů

Kryptografické algoritmy můžeme klasifikovat takto:

Algoritmy se symetrickým čili tajným klíčem, u nichž se používá jediný klíč jak pro šifrování, tak pro dešifrování. Příkladem běžně používaného kryptografického systému se symetrickým klíčem je standard AES (Advanced Encryption Standard).

Algoritmy s veřejným čili asymetrickým klíčem, u nichž se využívá dvojice klíčů: veřejný klíč pro šifrování dat a jemu odpovídající soukromý (tajný) klíč pro dešifrování. Ačkoli jsou oba klíče z téhož páru matematicky spojeny, je výpočetně nemožné odvodit soukromý klíč z klíče veřejného. Uživatel (nebo obecně jakákoliv entita) oznámí svůj veřejný klíč světu (např. na k tomu určeném veřejně přístupném serveru), avšak soukromý klíč si uchová v tajnosti. Každý, kdo má k dispozici veřejný klíč, může nějakou informaci zašifrovat, ale ne dešifrovat. Dešifrovat ji může pouze osoba, která má odpovídající soukromý klíč.

Hlavním přínosem kryptografických systémů (tzv. kryptosystémů) založených na algoritmech s veřejným klíčem je, že umožňují bezpečnou výměnu zpráv i entitám (např. osobám), které doposud nepoužívaly žádná bezpečnostní opatření. Odesílatel a příjemce si nemusejí posílat tajné klíče prostřednictvím zabezpečených kanálů; veškerá komunikace využívá pouze veřejné klíče, a žádný soukromý klíč není nikam přenášen ani nikomu sdělován.