Symetrické šifrování klíče vs šifrování veřejným klíčem
Kryptografie je studium skrývání informací a používá se při komunikaci přes nedůvěryhodné médium, jako je internet, kde je potřeba informace chránit před jinými třetími stranami. Moderní kryptografie se zaměřuje na vývoj kryptografických algoritmů, které dokážou zašifrovat data tak, aby je kvůli výpočetní náročnosti bylo těžké prolomit protivníkem (proto je nebylo možné prolomit praktickými prostředky). Šifrování používá k šifrování dat algoritmus zvaný šifra, který lze dešifrovat pouze pomocí speciálního klíče. Šifrovaná informace je známá jako šifrovaný text a proces získávání původní informace (prostého textu) ze šifrovaného textu je známý jako dešifrování. Dvě z široce používaných metod šifrování jsou šifrování symetrickým klíčem a šifrování veřejného klíče. Šifrování symetrickým klíčem zahrnuje metody šifrování, kdy odesílatel i příjemce sdílejí stejný klíč používaný k šifrování dat. V kryptografii veřejného klíče se používají dva různé, ale matematicky související klíče.
Co je šifrování symetrickým klíčem?
Při šifrování symetrickým klíčem (také známé jako tajný klíč, jeden klíč, sdílený klíč, jeden klíč nebo šifrování soukromého klíče) sdílejí odesílatel i příjemce stejný klíč používaný pro šifrování i dešifrování dat. Ve skutečnosti mohou být tyto dva klíče totožné nebo triviálně související (tj. pro přechod mezi nimi je nutná velmi jednoduchá transformace). V reálném životě je tajemství sdíleno dvěma nebo více stranami, které lze použít pro udržování soukromého spojení pro komunikaci. AES (Advanced Encryption Standard) je velmi oblíbený algoritmus, který patří do rodiny šifrovacích algoritmů se symetrickým klíčem.
Co je šifrování veřejného klíče?
V šifrování veřejného klíče se používají dva různé, ale matematicky související klíče. Šifrování veřejného klíče šifruje data pomocí veřejného klíče příjemce a nelze je dešifrovat bez použití odpovídajícího soukromého klíče. Jinými slovy, potřebujete jeden klíč k zamknutí (zašifrování prostého textu) a další klíč k odemknutí (dešifrování cypertextu). Důležité je, že jeden klíč nelze použít místo druhého. V závislosti na tom, který klíč je zveřejněn, lze šifrování veřejného klíče použít pro dva účely. Pokud je zamykací klíč zveřejněn, může tento systém použít kdokoli k zasílání soukromé komunikace držiteli odemykacího klíče. Pokud je tomu naopak, systém umožňuje ověřit doklady uzamčené majitelem. Šifrování veřejným klíčem je algoritmus asymetrického klíče. Ale pouze některé algoritmy asymetrického klíče mají tu zvláštní vlastnost, že nejsou schopny odhalit jeden klíč se znalostí druhého. Algoritmy asymetrického klíče s touto speciální vlastností se tedy nazývají šifrovací algoritmy veřejného klíče.
Jaký je rozdíl mezi šifrováním symetrickým klíčem a šifrováním veřejným klíčem?
Hlavním rozdílem mezi šifrováním symetrickým klíčem a šifrováním veřejným klíčem je skutečnost, že šifrování symetrickým klíčem používá k šifrování/dešifrování stejný (soukromý, tajný) klíč, zatímco šifrování veřejným klíčem používá veřejný i soukromý klíč. Obě strany by měly znát klíč při šifrování symetrickým klíčem, zatímco u šifrování veřejným klíčem takový požadavek neexistuje. Pouze jeden z klíčů znají obě strany v šifrování veřejného klíče. Protože to odstraňuje potřebu sdílet váš soukromý klíč (jako u šifrování symetrickým klíčem) a riziko jeho kompromitace, lze šifrování veřejného klíče v tomto ohledu považovat za bezpečnější.
Hlavní nevýhodou šifrování veřejným klíčem je však to, že je mnohonásobně pomalejší než šifrování symetrickým klíčem. Šifrování symetrickým klíčem tedy může být lepší pro šifrování velkého množství dat. Kromě toho musí šifrovací algoritmy s veřejným klíčem používat srovnatelně silnější klíč než šifrování symetrickým klíčem, aby dosáhly stejné síly (z prostého důvodu, že jeden klíč je v kryptografii veřejného klíče zveřejněn).