Kryptografie veřejného klíče (PKC), také nazývaná asymetrická kryptografie, je obor kryptografie, 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 vlastností a funkcí, které lze použít k řešení problémů, které jsou vlastní jiným kryptografickým technikám. Tato forma kryptografie se stala důležitou součástí moderní počítačové bezpečnosti a také nezbytnou součástí neustále se vyvíjející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 liší, veřejný klíč lze bezpečně sdílet, aniž by byla ohrožena bezpečnost soukromého klíče. 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 asymetrické šifrovací algoritmy generují matematicky příbuzné páry klíčů, jejich délka je mnohem delší než délka používaná v symetrické kryptografii. Tato zvýšená délka – obvykle mezi 1 024 a 2 048 bity – extrémně ztěžuje výpočet soukromého klíče z jeho veřejného ekvivalentu. Jeden z nejpopulárnějších dnes používaných algoritmů pro asymetrické šifrování je známý jako RSA. Ve schématu RSA jsou klíče generovány pomocí modulu získaného vynásobením dvou čísel (často dvou velkých prvočísel). Jinými slovy, modul generuje dva klíče: jeden veřejný, který lze sdílet, a druhý soukromý a musí být uchováván v tajnosti). Algoritmus RSA byl poprvé popsán v roce 1977 Rivestem, Shamirem a Adlemanem (potažmo RSA) a zůstává hlavní součástí kryptografických systémů s veřejným klíčem.


PKC jako šifrovací nástroj

Kryptografie s veřejným klíčem řeší jeden z opakujících se problémů symetrických algoritmů, a to komunikaci klíče používaného pro šifrování i dešifrování. Při odesílání tohoto klíče přes nezabezpečené připojení hrozí jeho odhalení třetím stranám, které si pak mohou přečíst všechny zprávy zašifrované sdíleným klíčem. Ačkoli existují kryptografické techniky (jako je protokol pro výměnu klíčů Diffie-Hellman-Merkle), které tento problém řeší, zůstávají zranitelné vůči útokům. Na druhé straně v kryptografii s veřejným klíčem lze klíč použitý pro šifrování bezpečně sdílet přes jakékoli připojení. Výsledkem je, že asymetrické algoritmy poskytují vyšší úroveň ochrany než symetrické algoritmy.


Použití při generová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 ze zprávy. 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 zdroj zprávy a zajistil, že s ní nebylo manipulováno. V některých případech jsou digitální podpisy a šifrování aplikovány společně, přičemž samotný hash může být zašifrován jako součást zprávy. Je však třeba poznamenat, že ne všechny systémy digitálního podpisu používají techniky šifrování.


Limity

Ačkoli jej lze použít ke zlepšení zabezpečení počítače a umožnění ověření integrity zpráv, má šifrování PKC určitá omezení. Kvůli složitým matematickým operacím zahrnutým v šifrování a dešifrování mohou být asymetrické algoritmy poměrně pomalé, když jsou nuceny zpracovávat velké množství dat. Tento typ kryptografie také silně spoléhá na předpoklad, že soukromý klíč zůstane tajný. Pokud dojde k náhodnému sdílení nebo odhalení soukromého klíče, bude ohrožena bezpečnost všech zpráv zašifrovaných odpovídajícím veřejným klíčem. Je také možné, že uživatelé omylem ztratí své soukromé klíče, v takovém případě jim znemožní přístup k zaš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 zabezpečení citlivých informací. E-mailové zprávy mohou být například šifrovány pomocí technik šifrování s veřejným klíčem, aby byl jejich obsah důvěrný. Protokol Secure Sockets Layer (SSL), který umožňuje bezpečné připojení k webovým stránkám, také využívá asymetrickou kryptografii. Systémy PKC byly dokonce zkoumány jako způsob, jak vytvořit bezpečné prostředí elektronického hlasování, které by potenciálně umožnilo voličům účastnit se voleb z jejich domácích počítačů.

Technologie PKC má také důležité místo v blockchainu a technologii kryptoměn. Při založ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 třetími stranami. Soukromý klíč se na druhé straně 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 ověřena potvrzením hashe obsaženého v digitálním podpisu, lze tuto transakci přidat do knihy blockchainu. Tento systém ověřování digitálního podpisu zajišťuje, že prostředky může uvolnit pouze osoba se soukromým klíčem spojeným s odpovídající kryptoměnovou peněženkou. Je třeba poznamenat, že asymetrická šifrování používaná v kryptoměnových aplikacích se liší od šifrování používaných pro účely počítačové bezpečnosti. Například bitcoiny a Ethereum používají k ověřování transakcí specializované šifrování zvané 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 v zabezpečení moderních digitálních systémů. Použitím spojený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 šifrování PKC používá již mnoho let, pravidelně se vyvíjejí nová použití a aplikace, zejména v oblasti blockchainu a kryptoměn.