Co je kryptografie s veřejným klíčem?

Kryptografie veřejného klíče (PKC), také známá jako asymetrická kryptografie, je struktura, která používá soukromý i veřejný klíč, na rozdíl od jediného klíče používaného v symetrické kryptografii. Použití párů klíčů dává PKC jedinečnou sadu charakteristik a schopností, které lze použít k řešení problémů, které jsou vlastní jiným kryptografickým metodám. Tato forma kryptografie se stala důležitým prvkem moderní počítačové bezpečnosti a také kritickou součástí rostoucího ekosystému kryptoměn.


Jak funguje kryptografie s veřejným klíčem?

Ve schématu PKC veřejný klíč používá odesílatel k šifrování informací, zatímco soukromý klíč používá příjemce k dešifrování. Protože se tyto dva klíče od sebe liší, lze veřejný klíč bezpečně sdílet, aniž by došlo k ohrožení soukromého zabezpečení. Každý pár asymetrických klíčů je jedinečný, což zajišťuje, že zprávu zašifrovanou pomocí veřejného klíče může číst pouze osoba, která má odpovídající soukromý klíč.

Protože algoritmy asymetrického šifrování generují páry klíčů, které jsou matematicky příbuzné, délka těchto klíčů je mnohem delší než u klíčů používaných v symetrické kryptografii. Tyto delší – obvykle 1024 až 2048 bitů – extrémně ztěžují výpočet soukromého klíče od jeho veřejného protějšku. Jeden z nejběžnějších dnes používaných algoritmů asymetrického šifrování je známý jako RSA. Ve schématu RSA jsou klíče generovány pomocí modulu, který se získá vynásobením dvou čísel (často dvou velkých prvočísel). Modul v zásadě generuje dva klíče (jeden veřejný, který lze sdílet, a druhý soukromý, který musí být utajen). Algoritmus RSA byl poprvé popsán v roce 1977 Rivestem, Shamirem a Adlemanem (odtud RSA) a zůstává základní součástí kryptografických systémů s veřejným klíčem.


PKC jako šifrovací nástroj

Šifrování veřejného klíče řeší jeden z dlouhodobých problémů symetrických algoritmů, kterým je přenos klíče, který se používá jak pro šifrování, tak pro dešifrování. Odeslání tohoto klíče přes nezabezpečené připojení je riskantní a mohlo by být vyzrazeno třetí straně, která by si pak mohla přečíst všechny zprávy zašifrované tímto klíčem. Přestože existují kryptografické metody (jako je protokol pro výměnu klíčů Diffie-Hellman-Merkle) k vyřešení tohoto problému, jsou stále náchylné k útokům. V kryptografii s veřejným klíčem je to naopak. Klíč použitý pro šifrování lze bezpečně přenášet přes jakékoli připojení. Výsledkem je, že asymetrické algoritmy poskytují vyšší úroveň ochrany ve srovnání se symetrickými.


Používání digitálních podpisů

Další aplikací asymetrických kryptografických algoritmů je autentizace dat pomocí digitálních podpisů. Digitální podpis je v podstatě hash vytvořený pomocí dat ve zprávě. Po odeslání této zprávy může příjemce ověřit podpis pomocí veřejného klíče odesílatele, aby ověřil původ zprávy a zajistil, že s ní nebylo manipulováno. V některých případech se digitální podpisy a šifrování používají společně, protože samotný hash může být zašifrován jako součást zprávy. Je třeba poznamenat, že ne všechna schémata digitálního podpisu používají metodu šifrování.


Limity

Ačkoli jej lze použít ke zlepšení zabezpečení počítače a ověření integrity zpráv, má PKC určitá omezení. Vzhledem ke složité matematice zapojené do šifrování a dešifrování mohou být asymetrické algoritmy poměrně pomalé, když musí pracovat s velkým množstvím dat. Tento typ kryptografie také silně spoléhá na předpoklad, že soukromý klíč zůstane tajný. Pokud by byl soukromý klíč náhodně sdílen nebo prozrazen, byla by ohrožena bezpečnost všech zpráv, které byly zašifrovány odpovídajícím veřejným klíčem. Uživatelé mohou také náhodně ztratit své soukromé klíče a v takovém případě nebudou mít přístup k šifrovaným datům.


Aplikace kryptografie veřejného klíče

Tento typ kryptografie používá mnoho moderních počítačových systémů k zajištění bezpečnosti citlivých informací. E-maily lze například šifrovat pomocí technik šifrování s veřejným klíčem, aby byla zajištěna důvěrnost jejich obsahu. Asymetrickou kryptografii využívá i protokol Secure Sockets Layer (SSL), který umožňuje zabezpečené připojení k webovým stránkám. Systémy PKC byly dokonce použity jako prostředek k zajištění bezpečného prostředí elektronického hlasování, které by potenciálně umožnilo voličům účastnit se voleb z jejich domácích počítačů.

PKC také zaujímá přední místo v blockchainu a technologiích kryptoměn. Při vytváření nové kryptoměnové peněženky se vygeneruje pár klíčů (veřejný a soukromý klíč). Veřejná adresa je generována pomocí veřejného klíče a lze ji bezpečně sdílet s ostatními. Na druhou stranu se soukromý klíč používá k vytváření digitálních podpisů a ověřování transakcí, a proto musí být uchováván v tajnosti. Jakmile je transakce potvrzena validací hashe obsaženého v digitálním podpisu, lze transakci přidat do knihy blockchain. Tento systém ověřování digitálního podpisu zajišťuje, že finanční prostředky z ní může vybírat pouze osoba, která má soukromý klíč spojený s odpovídající kryptoměnovou peněženkou. Je třeba poznamenat, že asymetrické šifry používané v kryptoměnových aplikacích se liší od těch, které se používají pro účely počítačové bezpečnosti. Například Bitcoin a Ethereum používají k ověřování transakcí speciální šifru známou jako Elliptic Curve Digital Signature Algorithm (ECDSA).

Od počítačové bezpečnosti po ověřování transakcí kryptoměn hraje kryptografie s veřejným klíčem důležitou roli při ochraně moderních digitálních systémů. Pomocí spárovaných veřejných a soukromých klíčů řeší asymetrické kryptografické algoritmy základní bezpečnostní problémy, které představují symetrické šifry. Přestože se PKC používá již řadu let, pravidelně se pro něj vyvíjejí nové aplikace a aplikace, zejména v blockchainu a kryptoměnách.