algoritmus RSA (Rivest-Shamir-Adleman)
algoritmus RSA je základ šifrovacího systému-sadu kryptografických algoritmech, které jsou používány pro konkrétní bezpečnostní služby nebo účely -, které umožňuje šifrování s veřejným klíčem a je široce používán pro zabezpečení citlivých dat, zejména, když je poslán přes nezabezpečenou síť, jako je internet.,
RSA byl poprvé veřejně popsal v roce 1977 Ron Rivest, Adi Shamir a Leonard Adleman z Massachusetts Institute of Technology, i když v roce 1973 vytvoření veřejného klíče, algoritmus, Britský matematik Clifford Cocks byl stále klasifikovány podle BRITSKÉ GCHQ až do roku 1997.
kryptografie veřejného klíče, známá také jako asymetrická kryptografie, používá dva různé, ale matematicky propojené klíče-jeden veřejný a jeden soukromý. Veřejný klíč lze sdílet se všemi, zatímco soukromý klíč musí být utajen.,
v kryptografii RSA mohou veřejné i soukromé klíče šifrovat zprávu; opačný klíč od klíče použitého k šifrování zprávy se používá k jeho dešifrování. Tento atribut je jeden z důvodů, proč RSA se stala nejpoužívanější asymetrický algoritmus: poskytuje metody pro zajištění důvěrnosti, integrity, autenticity a nepopiratelnosti elektronických komunikací a ukládání dat.
mnoho protokolů, jako je secure shell, OpenPGP, S/MIME a SSL / TLS, se spoléhá na RSA pro šifrování a funkce digitálního podpisu., Používá se také v softwarových programech-prohlížeče jsou zřejmým příkladem, protože potřebují vytvořit bezpečné připojení přes nezabezpečenou síť, jako je internet, nebo ověřit digitální podpis. Ověření podpisu RSA je jednou z nejčastěji prováděných operací v systémech připojených k síti.
proč se používá algoritmus RSA
RSA odvozuje svou bezpečnost z obtížnosti factoringu velkých celých čísel, které jsou produktem dvou velkých prvočísel., Vynásobení těchto dvou čísel je snadné, ale určení původních prvočísel z celkového počtu-nebo faktoringu-je považováno za nemožné vzhledem k době, kdy by trvalo použití i dnešních superpočítačů.
algoritmus generování veřejných a soukromých klíčů je nejsložitější součástí kryptografie RSA. Dvě velká prvočísla p a q, jsou generovány pomocí Rabin-Miller primality test algoritmu. Modul, n, se vypočítá vynásobením p A q. toto číslo je používáno jak veřejnými, tak soukromými klíči a poskytuje spojení mezi nimi., Jeho délka, obvykle vyjádřená v bitech, se nazývá délka klíče.
veřejný klíč se skládá z modulu n a veřejného exponentu, e, který je obvykle nastaven na 65537, protože je to prvočíslo, které není příliš velké. Číslo e nemusí být tajně vybrané prvočíslo, protože veřejný klíč je sdílen se všemi.
soukromý klíč se skládá z modulu n a soukromý exponent d, která je vypočtena pomocí Rozšířený Euklidovský algoritmus pro nalezení multiplikativní inverze s ohledem na totient n.,
Přečtěte si nebo se podívejte na video níže pro podrobnější vysvětlení toho, jak algoritmus RSA funguje.
jak funguje algoritmus RSA?
Alice generuje klíče RSA výběrem dvou prvočísel: p=11 a q=13. Modul je n=p×q=143. Totient je n ϕ (n)=(p−1)x (q−1)=120. Ona si vybere 7 pro její RSA veřejný klíč e a vypočítá její RSA soukromý klíč pomocí rozšířeného euklidovského algoritmu, který jí dává 103.
Bob chce poslat Alice šifrovanou zprávu, M, takže získá její veřejný klíč RSA (n, e), který je v tomto příkladu (143, 7)., Jeho holý zpráva je jen číslo 9 a je zašifrovaný, C, následovně:
Me mod n = 97 mod 143 = 48 = C
Když Alice Bob obdrží zprávu, že dešifruje pomocí ní RSA soukromý klíč (d, n) takto:
Cd mod n = 48103 mod 143 = 9 = M
použití RSA klíče digitálně podepsat zprávu, Alice by třeba vytvořit hash-message digest poselství Bob … zašifrovat hash hodnota s ní RSA soukromý klíč a přidejte klíč ke zprávě., Bob pak může ověřit, že zpráva byla odeslána Alice a nebyla změněna dešifrováním hodnoty hash pomocí jejího veřejného klíče. Pokud tato hodnota odpovídá hash původní zprávy, pak jen Alice mohla poslat — autentizace a nepopiratelnosti-a zpráva je přesně to, co napsala to … bezúhonnost.
Alice by samozřejmě mohla zašifrovat její zprávu s bobovým veřejným klíčem RSA-důvěrností-před odesláním Bobovi. Digitální certifikát obsahuje informace, které identifikují vlastníka certifikátu a také obsahuje veřejný klíč vlastníka., Certifikáty jsou podepsány certifikačním orgánem, který je vydává, a mohou zjednodušit proces získávání veřejných klíčů a ověřování vlastníka.
RSA security
RSA security spoléhá na výpočetní obtížnost factoringu velkých celých čísel. Jak se zvyšuje výpočetní výkon a objevují se efektivnější algoritmy factoringu, zvyšuje se také schopnost faktoru větší a větší čísla.
síla šifrování je přímo vázána na velikost klíče a zdvojnásobení délky klíče může přinést exponenciální zvýšení síly, i když to zhoršuje výkon., Klíče RSA jsou obvykle dlouhé 1024 nebo 2048 bitů, ale odborníci se domnívají, že 1024bitové klíče již nejsou plně zabezpečeny proti všem útokům. To je důvod, proč vláda a některá průmyslová odvětví se pohybují na minimální klíčovou délku 2048-bitů.
Blokování neočekávaného průlom v kvantové práci na počítači, bude to mnoho let, než delší klíče jsou potřebné, ale elliptic curve cryptography (ECC) získává přízeň mnoha bezpečnostních expertů jako alternativa k RSA implementovat kryptografie s veřejným klíčem. Může vytvářet rychlejší, menší a efektivnější kryptografické klíče.,
moderní hardware a software jsou připraveny na ECC a jeho popularita pravděpodobně poroste, protože může poskytovat ekvivalentní zabezpečení s nižším výpočetním výkonem a využitím zdrojů baterie, což je vhodnější pro mobilní aplikace než RSA. Nakonec, tým výzkumníků, který zahrnoval Adi Shamir, jeden z vynálezců RSA, se úspěšně vytvořil 4096-bit RSA klíč pomocí akustické dešifrování; nicméně, každý šifrovací algoritmus je náchylné k útoku.