RSA
Vidět Královský Nový Zéland vrátil asociaci služeb jestliže vy jste hledali zpětné služby má asociace (RSA) - organizace veteránů nebo kvalifikovaný klub v Novém Zélandu
' ' Vidět Jižní Afriku jestliže vy jste hledali Republic jižní Afriky.
RSA je asymetrický algoritmus pro kryptografii veřejného klíče, široce použitý v elektronické komerci. Algoritmus byl popisován v 1977 Ron Rivest, Adi Shamir a Len Adleman; dopisy RSA je parafuje jejich příjmení.
Clifford kohouti, britský matematik pracovat pro GCHQ, popisoval rovnocenný systém ve vnitřním dokumentu v 1973. Jeho objev, nicméně, byl ne odhalený until 1997 náležitý k jeho přísně tajné klasifikaci.
Bezpečnost RSA systému se spoléhá na obtíž factoring velmi velká čísla. Nové rychlé algoritmy na tomto poli mohly vyjádřit RSA nejistý, ale toto je obecně zvažováno nepravděpodobný.
Algoritmus byl patentován MIT v 1983 v Sjednocených stavech Ameriky. Patent vypršel 21 září 2000. Protože algoritmus byl publikoval předchozí k přihlášce patentu, to nemohlo být patentované v jiných zemích.
| Tabulka s obsahem |
| 1 operace 2 bezpečnost 3 praktické okolnosti 3.5 generace klíče 4 příbuzné články3.6 rychlost 3.7 distribuce klíče 3.8 měřit útoky 3.9 adaptivní volené Ciphertext útoky |
Předpokládat uživatele Alice přeje si dovolit souhlasu poslat jí osobní vzkaz přes nejisté přenosové médium. Ona udělá následující kroky tvořit veřejný klíč a privátní klíč:
- Si vybrat dva velký prvočísla p a ne; q náhodně a nezávisle na každém jiný. Vypočítat N = p q.
- Si vybrat celé číslo 1 d N který je coprime k (p- 1) (q- 1).
- Vypočítat e takový to d e a equiv; 1 (mod (p- 1) (q- 1 )).
- Zničit všechny záznamy p a q.
- (Kroky 2 a 3 moci být vykonáván s prodlouženým Euclidean algoritmem; vidět modulární aritmetiku.)
Předpokládat Bob přání poslat zprávu m k Alici. On ví N a e, který Alice oznámila. On se otočí m do čísla n N, používat některé předtím souhlasil-na reverzibilním protokolu. Například, každá postava ve zprávě holého textu mohla být přeměněna v jeho ASCII kód a kódy kaskádový do jediného čísla. Jestliže nutný, on může se zlomit m do kusů a zašifrovat každý kus odděleně. On pak počítá ciphertext c:
Alice přjímá c od Boba, a zná její privátní klíč d. Ona může zotavit se n od c následováním postupu:
Procedura dešifrování pracuje protože
- a
Zprávy signálu
RSA může také být zvyklý na znamení zpráva. Předpokládat Alici přeje si poslat podepsanou zprávu k Bobovi. Ona produkuje hodnotu mřížky zprávy, zašifruje to s jejím tajným klíčem, a připojí to jako “podpis” ke zprávě. Tento podpis může jen být dešifrován s jejím veřejným klíčem. Když Bob dostane podepsanou zprávu, on dešifruje podpis s Aliciným veřejným klíčem, a porovná výslednou mřížku hodnota se zprávou je skutečná mřížka hodnota. Jestliže dva souhlasit, on ví, že autor zprávy byl v vlastnictví Alicina tajného klíče, a že zpráva nebyla hrál si s protože.
Předpokládat předvečer, bosý posluchač, zachytí veřejný klíč N a e, a ciphertext c. Nicméně, ona je neschopná k přímo trvat d, který Alice chová tajemství. Nejvíce zřejmá cesta pro předvečer odvodit n od c je k faktoru N do p a q, aby vypočítal (p- 1) (q- 1) který dovolí rozhodnutí d od e. Žádné polynomial-metoda času pro factoring velká celá čísla na klasický počítač přesto se nalézal, ale to nebylo dokázané že žádný existuje. Viďte factorization celého čísla pro diskuzi o tomto problému.
To nebylo dokázané to factoring N je jediný způsob, jak odvodit n od c, ale žádná snadnější metoda byla objevená (přinejmenším podle veřejném vědění.)
Proto, to je obecně předpokládal, že předvečer je porazen jestliže N je dostatečně velký.
Jestliže N je 256 kousky nebo kratší, to může být factored v nemnoho hodin na osobním počítači, používat software volně dostupný na Internetu. Jestliže N je 512 kousků nebo kratší, to může být factored několik sto počítačů jak 1999. To je současně doporučil to N být přinejmenším 1024 kousků dlouho.
V 1993, Peter Shor ukázal, že kvantový počítač mohl v principu vykonávat factorization v polynomial čase. Jestliže (nebo když) kvantové počítače se stanou praktickou technologií, Shorův algoritmus bude dělat RSA a příbuzné algoritmy zastaralý.
Měl by účinný klasický factorization kód být objeven nebo praktický kvantový počítač postavil, používat ještě větší klíč délky by poskytovaly nouzové opatření. Nicméně, nějaká taková bezpečnostní přestávka v RSA by byla zpětná. Bosý posluchač může zaznamenat klíč a ciphertext a vyčkávání až do toho stane se praktické dekódovat zpráva. Proto, to je neodmyslitelně nebezpečné vyměnit dlouhodobá tajemství se RSA.
Nález velký připraví p a q je obvykle dělán tím, že testuje náhodná čísla správné velikosti se probabilistic primality testy, které rychle odstraní většinu non-připraví. Jestliže takový test shledá “pravděpodobný připravit”, deterministický test může být používán ověřit, že číslo je opravdu připravit.
p a q should ne být příliš blízký spolu, protože jinak Fermat factorization pro N bude být úspěšný. Dále, jestliže jeden p- 1 nebo q- 1 má jen malé primární faktory, N moci být factored rychle a tyto hodnoty p nebo q should proto být vyřazen také.
Jeden by neměl použít primární vyhledávací metodu který dá nějaké informace o připraví k útočníkovi. Zvláště, silný generátor náhodného čísla pro začátek hodnota potřebuje být zaměstnán. Jestliže útočník může myslet si půl číslic p nebo q, oni mohou rychle počítat jinou polovinu, jak byl ukazován Coppersmith v roce 1997.
To je důležité, že tajný klíč d být velký dost. Wiener se ukázal v 1990 to jestliže p je mezitím q a 2q (který je docela typický) a d N1/4/ 3, pak d moci být počítán efektivně od N a e. Šifrovací klíč e = 2 should také ne být používán.
RSA je hodně pomalejší než DES a jiné kryptografické systémy symmetric. V praxi, Bob typicky zašifruje tajnou zprávu s algoritmem symmetric, zašifruje (poměrně krátké) symmetric klíč s RSA, a přenáší oba RSA-zašifroval klíč symmetric a souměrně-encypted zpráva Alici.
Tato procedura zvýší další bezpečnostní záležitosti. Například, to je největší důležitosti k použití silný generátor náhodného čísla pro klíč symmetric, protože jinak předvečer mohl obejít RSA tím, že si myslí klíč symmetric.
Jak se všemi kódy, to je důležité jak RSA veřejné klíče jsou rozděleny. Distribuce klíče musí být zabezpečena pro případ muž-v-- střední útok. Předpokládat předvečer má nějaký způsob, jak dát souhlasu libovolné klíče a přinutit jej věřit, že oni patří k Alici. Předpokládat dále ten předvečer může zachytit přenosy mezi Alicí a Bob. Předvečer pošle souhlasu její vlastní veřejný klíč, který souhlas věří být Alice . Předvečer může pak zachytit nějaký ciphertext poslaný souhlasem, dešifrovat to s jejím vlastním tajným klíčem, držet kopii zprávy, zašifrovat zprávu s Aliciným veřejným klíčem, a poslat nový ciphertext k Alici. V principu, žádný Alice ani Bob by byl schopný odhalit přítomnost předvečera. Obrany proti takovým útokům jsou často založené na digitálních certifikátech nebo ostatních součástech infrastruktury veřejného klíče.
Kocher popsal vynalézavý neočekávaný nový útok na RSA v 1995: jestliže předvečer útočníka zná hardware Alice a je schopný změřit dešifrovací časy na několik známých cyphertexts, ona může odvodit klíč dešifrování d rychle. To maří tento útok, kód dešifrování by měl dešifrovat v konstantním čase. Toto je známé jako RSA ucpávání.
Adaptivní volené Ciphertext útoky
V 1998, Daniel Bleichenbacher popisoval první praktickou zkoušku adaptivní volené ciphertext zaútočí, proti RSA-zašifrované zprávy používat PKCS # 1 v1 redundanční funkce (funkce nadbytečnosti přidá strukturu k RSA-zašifrovaná zpráva, tak to je možné stanovit zda dešifrovaná zpráva je platná.) náležitý k trhlinám s PKCS # 1 schéma, Bleichenbacher byl schopný připravit praktický útok proti RSA realizacím Bezpečného zásuvkového vrstvového protokolu, a potenciálně odhalit klíče zasedání. V důsledku této práce, cryptographers nyní doporučí použití provably bezpečných redundančních kontrol takový jako OAEP, a RSA laboratoře vydal nové verze PKCS # 1 to být nebezbranný vůči těmto útokům.