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


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

V systému PKC je veřejný klíč používán odesílatelem k šifrování informací, zatímco soukromý klíč je používán příjemcem k dešifrování těchto informací. Vzhledem k tomu, že se oba klíče od sebe liší, lze veřejný klíč volně 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í páry klíčů, které jsou matematicky propojeny, je délka těchto klíčů mnohem větší než u symetrických šifrovacích algoritmů. Tato delší délka – obvykle mezi 1024 a 2048 bity – extrémně ztěžuje výpočet soukromého klíče pomocí veřejného klíče jako základu. Jeden z nejběžnějších algoritmů pro asymetrické šifrování, který se dnes používá, 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 (obvykle dvou velkých prvočísel). V základním pojetí modul generuje dva klíče (veřejný, který lze sdílet, a 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á důležitou součástí kryptografických systémů s veřejným klíčem.


PKC jako kryptografický nástroj

Kryptografie veřejného klíče řeší jeden z dlouhodobých problémů symetrických algoritmů, kterým je komunikace klíče používaného pro šifrování i dešifrování současně. Odeslání tohoto klíče přes nezabezpečené připojení by jej mohlo vystavit třetím stranám, které by si mohly přečíst jakoukoli zprávu zašifrovanou 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ší, jsou stále náchylné k útoku. 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 nabízejí vyšší úroveň ochrany ve srovnání se symetrickými.


Použití při generování digitálního podpisu

Další aplikací asymetrických šifrovacích algoritmů je autentizace dat pomocí digitálních podpisů. V zásadě řečeno, digitální podpis je hash vytvořený pomocí dat ze zprávy. Když je tato zpráva odeslána, může být podpis ověřen příjemcem pomocí veřejného klíče odesílatele, aby se ověřil původ zprávy a zajistilo se, ž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 však třeba poznamenat, že ne všechna schémata digitálního podpisu používají techniky šifrování.


Omezení

Ačkoli jej lze použít ke zlepšení zabezpečení počítače a zajištění kontroly integrity zpráv, má 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 pracovat s velkým množstvím dat. Tento typ šifrování 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 příslušným veřejným klíčem. Je také možné, že uživatelé náhodně ztratí své soukromé klíče, v takovém případě nebude možné získat přístup k zašifrovaným datům.


Aplikace kryptografie veřejného klíče

Tento typ šifrování používá mnoho moderních počítačových systémů k zajištění bezpečnosti důvěrných informací. E-maily lze například šifrovat 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á asymetrické šifrování. Systémy PKC byly dokonce zkoumány jako způsob, jak zajistit bezpečné prostředí pro elektronické hlasování, které by potenciálně umožnilo voličům účastnit se voleb z jejich domácích počítačů.

PKC vyniká také ve světě blockchainů a kryptoměn. Při založení nové kryptoměnové peněženky se vygeneruje pár klíčů (veřejný a soukromý). Veřejná adresa je vytvořena pomocí veřejného klíče a lze ji bezpečně sdílet s ostatními. Soukromý klíč se na druhou stranu používá k vytváření digitálních podpisů a ověřování transakcí, takže 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 Blockchain. Tento systém ověřování digitálního podpisu zajišťuje, že prostředky z ní může uvolnit 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 bitcoiny a Ethereum používají k ověřování transakcí specializované kódování známé jako algoritmus ECDSA (Eliptic Curve Digital Signature Algorithm).

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é šifrovací algoritmy základní bezpečnostní problémy, které představují symetrické šifry. Přestože PKC existuje již mnoho let, pravidelně se pro něj vyvíjejí nová použití a aplikace, zejména v oblasti blockchainu a kryptoměn.