Asymetrická kryptografie Inovace pro informatiky
Asymetrická kryptografie Skupina kryptografických metod, ve kterých se pro šifrování a dešifrování používají odlišné klíče. Používá se nejen pro šifrování zpráv, ale i pro jejich podepisování (ověření původu)
Základní principy Šifrovací klíč sestává ze dvou částí Veřejný klíč – používá se pro zašifrování zprávy, je veřejně dostupný Soukromý klíč – používá se pro dešifrování zprávy, je vlastníkem pečlivě uschován. Tím je vyřešen základní problém distribuce klíčů, není třeba sdílet žádné veřejné tajemství a komunikace může probíhat asynchronně.
Analogie se zámky Alice navrhne zámek a jeho kopie distribuuje po celém světě, klíč si ponechá. Bob uloží tajnou zprávu do krabice, na které zaklapne Alicin zámek. Alice si vyzvedne krabici a odemkne ji svým klíčem.
Mechanismy šifrovací funkce Asymetrická kryptografie je založena na jednocestných funkcích. Princip spočívá v nesnadné faktorizaci velkých čísel.
RSA – Rivest, Shamir, Adelman V podstatě první použitelná asymetrická metoda. Vznik roku 1977, dva roky po uveřejnění principu Diffiem. Tvůrci – výzkumníci laboratoře počítačových věd MIT. Algoritmus byl v USA v roce 1983 patentován jako patent č. 4,405,829. Patent vypršel 21.9.2000.
Tvorba klíčového páru Zvolí se dvě velká náhodná prvočísla p, q. Určí se jejich součin n=p*q Spočítá se hodnota Eulerovy funkce φ(n)=(p-1)(q-1) Zvolí se číslo e menší než φ(n) a které je s φ(n) nesoudělné. Nalezne se číslo d aby platilo: de ≡ 1 (mod φ(n)).
Tvorba klíčového páru Veřejným klíčem je pak dvojice (n,e), kde n je modul a e je šifrovací exponent Soukromým klíčem je dvojice (n, d), kde d se označuje jako dešifrovací či soukromý exponent. V praxi se klíče uchovávají v mírně upravené formě, která umožňují rychlejší zpracování.
Šifrování zprávy Bob nyní chce Alici zaslat zprávu M. Zpráva je převede na číslo m . Šifrovým textem odpovídajícím této zprávě pak je číslo c = me (mod n) Tento šifrový text poté zašle nezabezpečeným kanálem Alici.
Dešifrování zprávy Alice od Boba získá šifrový text c. Původní zprávu m získá následujícím výpočtem: m = cd (mod n)
Důkaz možnosti dešifrování Fakt, že výpočtem získáme původní zprávu, je důsledkem následující rovnosti: cd ≡ (me)d ≡ med (mod n). A jelikož ed ≡ 1 (mod p − 1) a ed ≡ 1 (mod q − 1), pak platí, že med ≡ m (mod p) a zároveň med ≡ m (mod q) Jelikož p a q jsou různá prvočísla, pak med ≡ m (mod pq). Tudíž cd ≡ m (mod n).
Příklad p = 61 (první prvočíslo) q = 53 (druhé prvočíslo) n = pq = 3233 (modul, veřejný) e = 17 (veřejný, šifrovací exponent) d = 2753 (soukromý, dešifrovací exponent)
Příklad – pokračování Pro zašifrování zprávy 123 probíhá výpočet: šifruj(123) = 12317 (mod 3233) = 855 Pro dešifrování pak: dešifruj(855) = 8552753 (mod 3233) = 123
Bezpečnost RSA Bezpečnost šifrovacího systému RSA je založena na matematickém problému faktorizace velmi vysokých čísel. Plné dešifrování RSA šifrovaného textu je obtížné v podstatě neproveditelné, jelikož neexistuje žádný známý algoritmus, pomocí nějž by se to dalo provést.
Bezpečnost RSA RSA je bezpečný jestliže n je dostatečně velké. Jestliže n je 256 bitů nebo kratší, může být za pár hodin faktorizován na osobním počítači, za použití volně dostupného software. Jestliže n je 512 bitů nebo kratší, může být faktorizován několika sty počítačů. Běžně se používá klíč o délce 1024–2048 bitů
Rychlost Asymetrická kryptografie je o hodně pomalejší než symetrická. V praxi se typicky zašifruje tajná zpráva symetrickým algoritmem, šifrování a následně se přenese symetrický klíč i symetricky šifrovaná zpráva příjemci.
PGP – Pretty Good Privacy Umožňuje šifrování a podepisování. Je založeno na algoritmu RSA. První verze PGP byla uvolněna Philem Zimmermanem v roce 1991. Později bylo PGP standardizováno. V dnešní době existují nekomerční verze (OpenPGP, GnuPG…)