Myšlenka kódování veřejného klíče byla poprvé představena na Stanfordské univerzitě v roce 1976 M. Hellmanem, R. Mercklem a W. Diffiem.
Dva typy algoritmů PKC jsou: RSA je zkratka pojmenovaná podle vynálezců: Rivest, Shamir a Adelman a DSA (Digital Signature Algorithm). Šifrování PKC se vyvinulo tak, aby vyhovovalo rostoucím a bezpečným komunikačním potřebám mnoha odvětví a průmyslových odvětví, zejména vojenských. Na rozdíl od kryptografie se symetrickým klíčem je šifrování veřejného klíče relativně novou koncepcí.
Stupně tvorby kryptosystémů
Symetrická kryptografie je stejně vhodná pro velké finanční korporace, které používají tajný přenos informací. S rozšiřováním nechráněných počítačových sítí v posledních několika desetiletích bylo naléhavě nutné použít kryptografii v širším měřítku. Symetrický klíč byl nepraktický kvůli problémům, kterým čelil při správě systému. To vedlo k šifrování veřejného klíče.
Stádia procesu tvorby:
1977. Společnost RSA vytvořila skupina programátorů R. Rivest, A. Shamir a L. Klyuchi. 1978. Macelis byl vytvořen kvůli problémům s dekódováním kódů Goppa. 1979. Rabin, založený na faktoringovém problému a otázkách souvisejících s RSA, vyšel. 1984. Vydáno společností Chor-Rivest. 1985. Elgamal vyšel na diskrétní logaritmus.Jiné asymetrickékryptosystémy:
eliptická metoda založená na eliptických křivkách připomínajících Elgamal. Merkle /Hellman - na problému batohu LUC, jako je RSA, tvoří posloupnost Lucas. MNLN je stejný jako RSA. Princip šifrování, výhody a nevýhody
Chcete-li porozumět principu asymetrického šifrování, musíte vždy pamatovat na to, že se jedná nejen o jeden klíč, ale o dva. Šifrování veřejného klíče začíná publikováním veřejného klíče. Příspěvek lze provádět například prostřednictvím serveru nebo poštou. Uživatel jej nepotřebuje předat bezpečnou cestu, někdo může vzít veřejný klíč. Často je žádoucí, aby byl distribuován globálně, aby se zajistilo, že žádný jiný veřejný klíč není falešný.
S pomocí šifrování s veřejným klíčem, každý schopen klasifikovat informace veřejného klíče hostitele. Proto je zpráva dešifrována tajným klíčem příjemce. Proto je důležité, aby klíč zůstal utajen. Jeho majitel může dešifrovat všechny zprávy zašifrované jinými, jejich vlastní veřejný klíč. Takové kryptosystémy se používají k šifrování dat veřejného klíče, autentizace a integrity. Pozoruhodné příklady založené na asymetrických metod OpenPGP nebo S /MIME, a šifrovací protokoly jako SSH, SSL /TLS a dokonce i https založené na asymetrických kryptosystémů. Výhody:
Relativně vysoká bezpečnost. Nepotřebujete tolik kláves, jako v metodě symetrického šifrování, takženejméně úsilí vytvořit tajemství. Žádný problém s převodem klíčů. Schopnost autentizace pomocí digitálních podpisů.Nevýhody šifrování pomocí veřejného klíče jsou následující:
algoritmy jsou velmi pomalé, asi 10.000 krát pomalejší než symetrické. Velká délka požadovaného klíče. Problémy s více uživateli, když zpráva musí být dále šifrována. Hybridní postupy. Riziko zabezpečení k dispozici pro každý veřejný klíč, který je také nedostatek šifrování pomocí veřejného klíče. Asymetrická kryptografie
PKC také známý jako šifrování pomocí veřejného klíče, asymetrické šifrování, asymetrické kryptografie, asymetrická šifra šifrovací asymetrické šifrovací klíče Diffie-Hellman. PKC - je kryptografický algoritmus a kryptografický složka realizovány různé internetové standardy, včetně bezpečného transportu (TLS), Pretty Good Privacy (PGP), GNU Privacy Guard (GPG), Secure Socket Layer (SSL) a protokol pro přenos hypertextu (HTTP) . PKC poskytuje zabezpečenou komunikaci přes nebezpečnou kanál, který umožňuje číst zprávy pouze zamýšleným příjemcem. Například A B používá veřejný klíč k zašifrování zprávy lze dešifrovat pomocí jedinečného soukromého klíče B. PKC zachovává důvěrnost a poskytuje e-mailové bezpečnostní komunikaci, kde zprávy jsou v tranzitu nebo uložené na poštovním serveru. PKC je také součástí DSA,který se používá k ověření tajného klíče, který může ověřit jakákoli osoba s oprávněným přístupem k veřejným klíči. PKC tak usnadňuje důvěrnost, integritu dat a autentizaci, které tvoří klíčové informační parametry (IA).
PKC je pomalejší než kryptografické metody tajného klíče (nebo symetrická kryptografie) kvůli vysokým výpočetním požadavkům. Jedná se o jasný nedostatek šifrovacích systémů s otevřeným zdrojovým kódem. Na rozdíl od symetrické kryptografie používá PKC pevnou velikost vyrovnávací paměti v závislosti na specifických a malých objemech dat, které mohou být zašifrovány a nejsou vázány na vláknech. Protože je použita široká škála možných šifrovacích klíčů, je PKC spolehlivější a méně náchylný k pokusům o narušení bezpečnosti.
Metoda veřejného klíče
Pro šifrování a dešifrování jsou použity různé klíče. Toto je vlastnost, která nastavuje schéma jiné než symetrické šifrování. Každý přijímač má jedinečný dešifrovací klíč, který se běžně nazývá uzavřený. Příjemce musí publikovat ten, který se nazývá veřejný klíč metody šifrování. V této schématu je zapotřebí určitá důvěra v jeho autenticitu, aby se zabránilo tomu, že útočník bude nahrazen jako příjemce. Tento typ kryptosystému typicky zahrnuje důvěryhodnou třetí stranu, která označuje, že konkrétní veřejný klíč patří pouze určité osobě nebo objektu. Šifrovací algoritmus veřejného klíče RSA je docela komplikovaný, aby zabránil útočníkovi v tom, aby otevřeltext šifrovaného textu a šifrovacího klíče s veřejným klíčem.
Generace párů RSA
Každá osoba nebo strana, která se chce zapojit do komunikace se šifrováním, generuje několik možností najednou, a to otevřeného a šifrovaného šifrovacího klíče. Proces popsaný níže:
Vygenerujte modul RSA (n). Vybere se dvě hlavní čísla p a q. Najděte číslo derivátu e. Číslo e musí být větší než 1 a méně (p - 1) (q - 1). Pro e a (p - 1) (q - 1) by neměl existovat jiný obecný faktor než 1. Proveďte šifrování pomocí veřejného klíče. Dvojice čísel (n, e) tvoří veřejný klíč RSA. Ačkoli n je součástí otevřeného klíče, obtížnost faktorizace takového čísla zajišťuje, že útočník nemůže najít v konečném čase dvě primární čísla (p & q) použitá k získání n. Toto porozumění je základem RSA.
Vytvoření tajného klíče je následující. Soukromý klíč d se vypočítá z p, q a e. Pro dané n a e existuje jedinečné číslo d. Číslo d je inverzní e modulo (p - 1) (q - 1). To znamená, že d je číslo menší než (p - 1) (q - 1), ale takové, že při násobení e je 1 modulo (p - 1) (q - 1). Tento poměr se zapisuje matematicky následujícím způsobem: ed = 1 mod (p - 1) (q - 1). Pokročilý euklidovský algoritmus přijímá p, q a e jako vstup a dává závěr. Níže je uveden příklad páru klíče RSA. Pro snadné porozumění jsou jednoduchá čísla p & q, tady jsou malé hodnoty. V praxi by tyto hodnoty měly být velmi významné.
Algoritmus výpočtu:
Nechť dvě přední čísla se rovnají p = 7 q = 13.Takže modul n = pq = 7 x 13 = 91. Zvolte e = 5 jako platnou volbu, protože neexistuje číslo, které je společným faktorem 5 a (p - 1) = 6 x 12 = 72 s výjimkou 1. Pár čísel (n, e) = (91 5) tvoří otevřený klíč a může být přístupný všem, kdo potřebují odesílat šifrované zprávy. Vstupní p = 7 q = 13 a e = 5. Výstup bude rovný d = 29. Buďte přesvědčeni, že vypočtené d je správné - de = 29 x 5 = 145 = 1 mod 72.Takže veřejný klíč je (91 5) a soukromý klíč (9129).
Šifrování a dešifrování
Dále je proces šifrování a dešifrování poměrně jednoduchý a snadno vypočítaný. Zajímavé je, že RSA přímo nepracuje s bitovými linkami, jako v případě symetrické metody. Pracuje s moduly n. Proto je nutné prezentovat otevřený text, jako série čísel, menší n. RSA šifrování:
Předpokládejme, že odesílatel chce odeslat textovou zprávu někomu, otevřenému klíči (n, e). Odesílatel pak představuje otevřený text jako řadu čísel menších než n. Šifrování prvního otevřeného textu P, což je číslo modulu n. Šifrovací proces je jednoduchý matematický krok, C = Pe mod n.Jinými slovy, zašifrovaný text C se rovná otevřenému textu P násobenému e-krát a poté snížen na modulo n. To znamená, že C je také menší než n. Při návratu k příkladu generování otevřených klíčů P = 10 získáme zašifrovaný text: C = 105 mod 91. RSA dešifrování:
Proces dešifrování RSA je také velmi jednoduchý. Předpokládejme, že příjemce dvojice klíčů (n, e) má text C. Přijímač zvýší hodnotu C pro tlačítko d. Výsledkem modulo n budeotevřený text P: Plaintext = Cd mod n. Znovu se vracíme k číselnému příkladu, šifrovaný text C = 82 je dešifrován na 10 pomocí soukromého klíče 29: Plaintext = 8229 mod 91 = 10.
Bezpečnost RSA závisí na silných stránkách obou samostatných funkcí. RSA kryptosystém je nejoblíbenější kryptosystém veřejného klíče, který je založen na praktické složitosti faktorizace velkých čísel. Funkce šifrování je považována za jednosměrnou funkci převodu otevřeného textu do šifrovaného textu a lze jej zrušit pouze pomocí tajného klíče d. Složitost určování otevřeného a uzavřeného šifrovacího klíče RSA odpovídá faktorizaci modulu n. Útočník tedy nemůže použít znalost veřejného klíče RSA k určení tajného RSA klíče, pokud nemůže určit n. Jedná se také o jednosměrnou funkci, přechod od hodnot p & q do modulu n je snadné, ale zpětný směr není možný. Pokud některá z těchto dvou funkcí není jednostranná, je porušena RSA. Ve skutečnosti, pokud je efektivní vývoj faktoringové technologie, RSA již nebude v bezpečí. Šifrovací síla RSA prudce klesá proti útokům, pokud čísla p a q nejsou primárními čísly, nebo vybraný veřejný klíč e je malé číslo.