Coppersmith's attack
Coppersmith útok popisuje třídu útoků na veřejného klíče kryptografickéhoRSA na základě teorému Coppersmith tyto (viz níže). Veřejný klíč v systému RSA je n-tice celých čísel , kde N je součin dvou prvočísel p a q .Tajný klíč je dána tím, celé číslo d uspokojující , ekvivalentně, může tajný klíč bude dánaa v případě, že čínská věta o zbytku se používá ke zlepšení rychlosti dekódování, viz CRT-rsa . Šifrování azprávy M produkuje ciphertext , které mohou být dešifrovat pomocí výpočtem .
Coppersmith věta má mnoho aplikací v útoku RSA zvláště pokud veřejný exponent e je malý, nebo pokud částečná znalost tajného klíče je k dispozici.
Za účelem snížení šifrování nebo podpis - ověření doby, je vhodné použít malý veřejnou exponent ( ). V praxi, společné možnosti pro jsou 3, 17 a 65537 . [ 1 ] Tyto hodnoty pro e jsou Fermatova prvočísla , někdy označované jako a , resp . Jsou vybrány, protože oni dělají modulární umocňování operace rychleji. Také, co si vyberete jako , že je jednodušší ověřit, zda a při generování a testování prvočísel v kroku 1generování klíčů . Hodnoty nebo že selhání tento test může být zamítnuta tam a pak. (Ještě lepší: pokud e je prvočíslo a větší než 2, pak zkouška může nahradit dražší testu .
Pokud veřejný exponent je malý a holý je velmi krátký, pak RSA funkce mohou být snadno invertovat což některé útoky možné. polstrování systémyzajistí, že zprávy mají plné délky, ale navíc volbě veřejného exponentu se doporučuje. Pokud se používá tato hodnota, ověřování podpisu vyžaduje 17 násobení, jak protichůdný k zhruba 1000, kdy náhodný se používá stejné velikosti. rozdíl nízké soukromý exponent (viz Wienerova útoku ), útoky, které se použijí v případě malé použití jsou daleko od celkového přestávky , které by navrácení tajný klíč d. . Nejsilnější útoky na nízkou míru veřejného exponentu RSA jsou založeny na následující věta, která je vzhledem k Don Coppersmith .
Nechť N je celé číslo a je monic polynom stupně nad celými čísly. Nastavit pro . Pak, stejně může útočník, Eve, efektivně najít celá čísla uspokojující . Doba chodu dominuje čas potřebný ke spuštěníLLL algoritmus na mřížce o rozměru O s .
Tato věta uvádí existenci algoritmu , který může efektivně najít všechny kořenyna modulo , které jsou menší než . Jak se zmenší, bude algoritmu runtime snížit. Tato věta je síla je schopnost najít všechny malé kořeny polynomů modulo složené .
Nejjednodušší forma útoku Håstad je je předložen usnadňují pochopení.Obecný případ využívá Coppersmith větu.
Předpokládejme, že jednoho odesílatele odešle stejnou zprávu v zašifrované podobě na počtu lidí , z nichž každý se stejným malý veřejný exponent , říkají , a různé moduly . Jednoduchý argument ukáže, že jakmile ciphertexts jsou známy, zpráva je již bezpečný: Předpokládejme Eve zachytí , a , kde . Můžeme se domnívat, pro všechny (jinak, je možné vypočítat faktor jednoho z "s tím, že počítá .) Do čínské věty o zbytcích , může si spočítat tak, že . Pak , nicméně, protože pro všechny ", máme . Tak má přes celá čísla, a Eva mohou vypočítat třetí odmocninu z získat .
Pro větší hodnoty více ciphertexts jsou zapotřebí, a to zejména, ciphertexts jsou dostatečné.
Håstad také ukázal, že použití lineární - padding , aby před šifrování nechrání proti tomuto útoku. Předpokládejme, že útočník dozví, že pro a některé lineární funkce , tj., Bob použije podložku na zprávy před šifrováním tak, aby příjemci obdrží mírně odlišné zprávy. Například, pokud je bitů dlouhé, může Bob šifrování a poslat to do i -tého příjemce.
Pokud dostatečně velká skupina lidí se účastní, může útočník obnovit holý ze všech ciphertext s podobnými metodami. Ve více obecnosti, Håstad prokázáno, že systém jednorozměrných rovnic modulo nesoudělná kompozitů, například použitím jakékoli pevné polynomiální mod , by mohla být vyřešena, pokud dostatečně mnoho rovnic jsou k dispozici. Tentoútok naznačuje, že randomizované výplň by měl být použit ve šifrování RSA .
Předpokládejme, že jsou nesoudělná celá čísla a nastavení . Nechť je k. polynomymaximálního stupně . Předpokládejme, že existuje jedinečná uspokojující (mod ) pro všechny . Dále předpokládám . K dispozici je efektivníalgoritmus , který vzhledem k tomu, pro všechny , počítá .
Důkaz :
Vzhledem k tomu, jsou nesoudělná čínská věta o zbytcích by mohly být použity pro výpočet koeficientů uspokojující a pro všechny . Nastavení víme, že .Vzhledem k tomu, jsou nenulová jsme, že je také nenulová. Stupeň je nejvíce . Podle Věty Coppersmith je, můžeme spočítat všechnyceločíselné kořeny splňují a . Nicméně, my víme, že , takže je mezi kořeny nalezených věty Coppersmith je.
Tato věta může být použita k problému vysílání RSA následujícím způsobem: Předpokládejme i -tý holý je naplněn polynomu , tak, že . Pak polynomy splňují tento vztah. Útok uspěje jednou . Původní výsledek používal na Håstad metodu namísto plného Coppersmith metodu. Jeho výsledek byl vyžadován zprávy, kde . [ 3 ]
Franklin-Reiter poznal nový útok proti RSA s veřejným exponentem .Jestliže dvě zprávy se liší pouze známým pevnou rozdílu mezi oběma zpráv a jsou RSA šifrované za stejných RSA modulu , pak je možné získat oba.
Nechť je Alicin veřejný klíč. Předpokládejme, že jsou dvě odlišné zprávy splňující nějakou veřejně známou polynomu . Chcete-li odeslat a Alici, může Bob naivně šifrování na zprávy a předá výsledné ciphertexts . Eve si můžete snadno obnovit , stejně , pomocí následující větu:
Nastavit a nechat se RSA veřejný klíč. Nechte uspokojit nějakou lineární polynom s . Pak, stejně může útočník, Eve, obnovit v časovémkvadratický v .
Pro libovolné (spíše než omezení na ) potřebný čas je kvadratický v a ).
Důkaz :
Vzhledem k tomu, víme, že je kořen z polynomu . Podobně, je kořen . Lineární součinitel rozděluje obě polynomů . Proto, Eva vypočítává největší společný dělitel (gcd) o a , v případě, že gcd dopadá být lineární, se nachází. Gcd může být počítán v kvadratické času a pomocí Euclidean algoritmus .
Stejně jako Håstad je a Franklin Reiter útoku, tento útok využívá slabost RSA s veřejným exponentem . Coppersmith ukázal, že pokud randomizované padding navrhl Håstad se používá nesprávně pak RSA šifrování není bezpečné.
Předpokládejme, že Bob pošle zprávu Alici pomocí malého náhodného polstrování před zašifrováním to. Útočník, Eve, zachytí šifrový text a zabraňuje jeho dosažení svého cíle. Bob se rozhodne odeslat Alici, protože Alice nereagoval na jeho poselství. On náhodně podložky znovu a přenáší výsledný šifrovaný. Eva má nyní dva ciphertexts odpovídající dvěma šifrování stejné zprávy pomocí dvou různých náhodných vycpávky.
I když Eva neví, náhodné podložku používán, pořád může obnovit zprávu pomocí následující větu, pokud náhodná výplň je příliš krátký.
Nechť je veřejný RSA klíč kde je -bitů. Nastavit .Nechť je zpráva délky u většiny bitů. Definovat a , kde a je odlišnécelá čísla s . Pokud Marvin je dána a šifrovánís (ale není uveden , nebo , může efektivně obnovit .
Důkaz [ 2 ]
Definovat a . Víme, že když tyto polynomy mají jako společný kořen.Jinými slovy, je kořen výslednice . Kromě toho, .Proto, je malý kořen modulo , a Marvin může efektivně najít pomocí Věty 1 (Coppersmith) . Jakmile je známo, Franklin-Reiter útok může být použita k obnovení a následně .