Čo je kryptografia s verejným kľúčom?
Domov
Články
Čo je kryptografia s verejným kľúčom?

Čo je kryptografia s verejným kľúčom?

Stredne pokročilý
Zverejnené Jan 31, 2019Aktualizované Nov 8, 2022
5m

Úvod

Kryptografia s verejným kľúčom (PKC), známa aj ako asymetrická kryptografia, predstavuje rámec, ktorý používa súkromný aj verejný kľúč, na rozdiel od jedného kľúča používaného v symetrickej kryptografii. Používanie párov kľúčov dáva PKC jedinečnú sadu vlastností a schopností, ktoré sa dajú použiť na riešenie výziev vložených v iných kryptografických technikách. Táto forma kryptografie sa stala významným prvkom modernej počítačovej bezpečnosti, ako aj kritickým komponentom rastúceho ekosystému kryptomien.


Ako funguje kryptografia s verejným kľúčom?

V schéme PKC verejný kľúč používa odosielateľ na kódovanie informácií, zatiaľ čo súkromný kľúč používa príjemca na dekódovanie. Keďže tieto dva kľúče sa navzájom líšia, verejný kľúč sa dá bezpečne zdieľať bez narušenia bezpečnosti súkromného kľúča. Každý asymetrický pár kľúčov je jedinečný, čím sa zabezpečí, že správu kódovanú s pomocou verejného kľúča si môže prečítať len osoba, ktorá vlastní príslušný súkromný kľúč.

Keďže asymetrické kódovacie algoritmy generujú páry kľúčov, ktoré sú matematicky prepojené, dĺžka ich kľúča je oveľa väčšia ako pri kľúčoch používaných v symetrickej kryptografii. Táto väčšia dĺžka - spravidla od 1 024 do 2 048 bitov - zabezpečuje, že je extrémne ťažké vypočítať súkromný kľúč z verejného kľúča. Jeden z najbežnejších algoritmov pre asymetrické kódovanie, ktoré sa dnes používajú, je známy ako RSA. 

V schéme RSA sa kľúče generujú s pomocou modulusu, ku ktorému sa dostaneme vynásobením týchto dvoch čísel (často dvoch veľkých prvočísel). V základom zmysle modulus generuje dva kľúče (jeden verejný, ktorý sa dá zdieľať a jeden súkromný, ktorý by sa mal udržiavať v tajnosti). RSA algoritmus prvý krát opísali v roku 1977 Rivest, Shamir a Adleman (teda RSA) a zostáva hlavným komponentom systémov kryptografie s verejným kľúčom.


PKC ako kódovací nástroj

Kryptografia s verejným kľúčom rieši jeden z dlhodobých problémov symetrických algoritmov, ktorým je komunikácia kľúča, ktorý sa používa na kódovanie aj dekódovanie. Posielanie tohto kľúča cez nezabezpečené pripojenie so sebou nesie riziko odhalenia tretím stranám, ktoré potom môžu čítať všetky správy kódované so zdieľaným kľúčom. Hoci na riešenie tohto problému existujú kryptografické techniky (ako je protokol výmeny Diffie-Hellman-Merklevho kľúča), stále sú zraniteľné voči útokom. V kryptografii s verejným kľúčom sa dá naopak kľúč používaný na kódovanie zdieľať bezpečne cez každé pripojenie. V dôsledku toho asymetrické algoritmy ponúkajú vyššiu úroveň ochrany v porovnaní so symetrickými algoritmami.


Generovanie digitálnych podpisov

Ďalším použitím algoritmov asymetrickej kryptografie je autentifikácia údajov prostredníctvom používania digitálnych podpisov. V zásade digitálny podpis predstavuje hash, ktorý je vytvorený s pomocou údajov v správe. Keď sa táto správa odošle, podpis môže skontrolovať príjemca s pomocou verejného kľúča odosielateľa. Týmto spôsobom dokážu autentifikovať zdroj správy a uistiť sa, že sa doňho nezasahovalo. V niektorých prípadoch sa digitálne podpisy a kódovanie používajú spoločne, čo znamená, že samotný hash môže byť kódovaný v rámci správy. Mali by ste si však zapamätať, že nie všetky schémy digitálnych podpisov používajú techniky kódovania.


Obmedzenia

Hoci sa PKC dá použiť na zosilnenie počítačovej bezpečnosti a poskytnutie verifikácie integrity správy, má isté obmedzenia. Vďaka komplexným matematickým operáciám zapojeným do kódovania a dekódovania môžu byť asymetrické algoritmy celkom pomalé, keď musia spracovávať veľké objemy údajov. Tento typ kryptografie značne závisí aj od predpokladu, že súkromný kľúč zostane tajný. Ak sa bude súkromný kľúč náhodne zdieľať alebo sa odhalí, bezpečnosť všetkých správ, ktoré boli kódované s príslušným verejným kľúčom, bude narušená. Zároveň je možné, že používatelia náhodne stratia svoje súkromné kľúče, a v takom prípade bude nemožné, aby pristupovali ku kódovaným údajom.


Použitia kryptografie s verejným kľúčom

Tento typ kryptografie používajú mnohé moderné počítačové systémy na zaručenie bezpečnosti pre citlivé informácie. Napríklad e-maily sa dajú kódovať s pomocou techník kryptografie s verejným kľúčom, aby zostal ich obsah dôverný. 

Protokol secure sockets layer (SSL), ktorý umožňuje bezpečné pripojenie k webovým stránkam, používa aj asymetrickú kryptografiu. PKC systémy boli objavené ako prostriedok poskytovania bezpečného elektronického hlasovacieho prostredia, ktoré by hlasujúcim potenciálne umožnilo zúčastniť sa hlasovania zo svojich domovských počítačov.

PKC takisto prominentne figuruje v technológii blockchainu a kryptomien. Keď sa vytvorí nová kryptopeňaženka, generuje sa pár kľúčov (verejné a súkromné kľúče). Adresa peňaženky sa vygeneruje s pomocou verejného kľúča a bezpečne ju môžete zdieľať s ostatnými. Súkromný kľúč na druhej strane sa používa na vytváranie digitálnych podpisov a overovanie transakcií, a preto sa musí uchovávať v tajnosti. 

Keď sa transakcia overila potvrdením hashu nachádzajúceho sa v digitálnom podpise, táto transakcia sa dá pridať do účtovnej knihy blockchainu. Tento systém overovania digitálneho podpisu zaisťuje, že môže financie prevádzať len osoba, ktorá vlastní súkromný kľúč spojený s príslušnou kryptopeňaženkou. 

Je dôležité poznamenať, že asymetrická kryptografia používaná v kryptomenových aplikáciách sa líši od kryptografie používanej na účely zabezpečenia počítača. Bitcoin a Ethereum napríklad používajú špecifický algoritmus na overovanie transakcií, známy ako Elliptic Curve Digital Signature Algorithm (ECDSA). ECDSA takisto vytvára digitálne podpisy bez použitia kódovania. To znamená, že blockchain nepotrebuje kódovanie, na rozdiel od toho, čo si mnohí myslia.


Záverečné myšlienky

Od počítačovej bezpečnosti po overovanie kryptomenových transakcií hrá kryptografia verejného kľúča významnú úlohu pri zabezpečení moderných digitálnych systémov. S pomocou párovaných verejných a súkromných kľúčov algoritmy asymetrickej kryptografie riešia základné bezpečnostné problémy symetrických číslic. Hoci sa PKC používa už mnoho rokov, pravidelne sa vyvíjajú nové využitia a aplikácie, najmä v priestore blockchainu a kryptomien.