Čo je asymetrické šifrovanie?

click fraud protection

Existuje veľa rôznych častí kryptografie. Ak však chcete šifrovať niektoré údaje, môžete použiť dva typy algoritmov: symetrické šifrovacie algoritmy a asymetrické šifrovacie algoritmy. Koncept je rovnaký: môžu šifrovať údaje, ale fungujú na iných princípoch a majú iné prípady použitia.

Titulárny rozdiel však opisuje šifrovacie kľúče. Symetrický šifrovací algoritmus používa na šifrovanie a dešifrovanie údajov jeden zdieľaný kľúč. Asymetrický šifrovací algoritmus používa dva prepojené kľúče, jeden na dešifrovanie a druhý na dešifrovanie.

Terminológia

Asymetrické šifrovacie algoritmy sa spoliehajú na použitie dvoch odlišných kľúčov. Jeden kľúč možno použiť na šifrovanie údajov a druhý na dešifrovanie. Dva šifrovacie kľúče nie sú len nejaké staré dve hodnoty. Sú vnútorne prepojené a musia byť generované algoritmom generovania kľúčov.

Alternatívnym názvom pre asymetrické šifrovanie je šifrovanie verejným kľúčom. Dôvodom je, že jeden z dvoch kľúčov je verejný. Tradičným konceptom je, že šifrovací kľúč je verejne zdieľaný a dešifrovací kľúč je prísne súkromný. Z tohto dôvodu sa šifrovací kľúč označuje ako verejný kľúč a dešifrovací kľúč je súkromný kľúč.

Táto konfigurácia umožňuje komukoľvek zašifrovať správu, takže ju môže dešifrovať iba vlastník súkromného kľúča. Je to užitočné, pretože ktokoľvek môže bezpečne komunikovať s určeným príjemcom pomocou jediného zverejneného šifrovacieho kľúča. Na bezpečnú spätnú komunikáciu by príjemca musel použiť verejný kľúč pôvodného odosielateľa.

Teoreticky neexistuje dôvod, prečo by ste si nemohli vymeniť kľúče a zdieľať dešifrovací kľúč a zároveň zachovať šifrovací kľúč v súkromí. Toto by sa dalo použiť na overenie pravosti zdroja, ak neposkytne nejaké zmysluplné zabezpečenie. V praxi sa to však nerobí, pretože existujú iné mechanizmy na dosiahnutie rovnakého výsledku.

Vlastnosti symetrických šifrovacích algoritmov

Asymetrické šifrovacie algoritmy vyžadujú použitie oveľa väčších kľúčov ako symetrické šifrovacie algoritmy, keď poskytujú rovnakú úroveň bezpečnosti. Vo všeobecnosti sa symetrický šifrovací algoritmus so 128-bitovým šifrovacím kľúčom považuje za bezpečný, hoci sa uprednostňujú 256-bitové kľúče. V asymetrickom šifrovacom algoritme sa 2048-bitové kľúče považujú za bezpečné.

Príklad 2048-bitového kľúča platí pre RSA, ktorý je už dlho štandardom pre asymetrické šifrovanie. Kryptografia eliptických kriviek je však novší koncept, ktorý je tiež asymetrický, ale používa výrazne menšie kľúče. 2048-bitový kľúč RSA ponúka rovnaké zabezpečenie ako 224-bitový kľúč s eliptickou krivkou.

Tip: Vyššie uvedené hodnoty sa považujú za bezpečné na komerčné použitie, ale NSA vyžaduje silnejšie kľúče pre prísne tajné šifrovanie. Potrebné sú kľúče RSA minimálne 3072-bitové, kým 384-bitové kľúče eliptickej krivky sú potrebné. Stojí za zmienku, že 3072-bitový kľúč RSA je slabší ako 384-bitový kľúč eliptickej krivky.

Asymetrické šifrovacie algoritmy majú tendenciu byť relatívne pomalé v porovnaní so symetrickými šifrovacími algoritmami. Bezpečná komunikácia môže prebiehať cez nezabezpečený kanál, ak obe strany vygenerujú pár asymetrických kľúčov a potom si vymenia verejné kľúče. Týmto spôsobom môžu obe strany posielať správy, ktoré môže dešifrovať iba druhá strana.

V praxi musí aspoň jedna zo strán overiť integritu svojho verejného kľúča. To sa deje prostredníctvom PKI alebo infraštruktúry verejného kľúča. Toto má formu certifikačných autorít, ktoré podpisujú kľúče ostatných, aby preukázali, že ich identita bola overená. V tomto systéme musia byť všetky certifikačné autority dôveryhodné; bez toho sa systém rozpadne.

Použitie v praxi

Asymetrické šifrovacie algoritmy sa zvyčajne nepoužívajú na hromadné šifrovanie, najmä ak je problémom čas alebo výkon. Môžu byť použité na šifrovanie jednorazových správ, ako je obsah e-mailu. Avšak ich schopnosť zabezpečiť nezabezpečený kanál z nich robí vynikajúcu voľbu pre protokol výmeny kľúčov, ktorý prenáša symetrické kľúče, ktoré potom možno použiť na efektívnejšie hromadné šifrovanie.

Toto je prípad použitia v TLS, ktorý poskytuje bezpečnosť v HTTPS. Používateľ sa pripojí k webovému serveru; potom si vymieňajú verejné kľúče, aby si navzájom zašifrovali malé správy. Server potom vygeneruje symetrický kľúč, zašifruje ho verejným kľúčom používateľa a odošle mu ho. Používateľ dešifruje kľúč a potom môže použiť symetrický kľúč na efektívne šifrovanie budúcej komunikácie so serverom.

Certifikačná autorita vo vyššie uvedenom procese overuje verejný kľúč servera. Používateľ si tak môže byť istý, že komunikuje s tým, s kým sa snaží komunikovať. Vo väčšine prípadov používateľ vygeneruje kľúč na jedno použitie, pretože server nemusí overovať, s ktorým používateľom komunikuje.

Záver

Asymetrické šifrovacie algoritmy využívajú dva odlišné kľúče. Jeden kľúč sa používa na šifrovanie a druhý na dešifrovanie. Kľúče sú matematicky prepojené a musia byť generované algoritmom generovania kľúčov; náhodné hodnoty nefungujú. Šifrovací kľúč sa zvyčajne zdieľa verejne, čo umožňuje komukoľvek zašifrovať správu určenú vlastníkovi páru kľúčov.

Pokiaľ dešifrovací kľúč zostane súkromný, správy zašifrované verejným kľúčom môže dešifrovať iba vlastník kľúča. Asymetrické šifrovanie sa ako také často označuje aj ako kryptografia s verejným kľúčom.