Coppersmithův útok popisuje třídu kryptografické útoky na kryptosystém veřejného klíče RSA založeno na Coppermithova metoda. Mezi konkrétní aplikace metody Coppersmith pro útok na RSA patří případy, kdy je veřejný exponent E je malá nebo pokud je k dispozici částečná znalost tajného klíče.
Základy RSA
Veřejný klíč v systému RSA je n-tice celá čísla
, kde N je produktem dvou prvočísel p a q. Tajný klíč je dán celým číslem d uspokojující
; ekvivalentně může být tajný klíč dán
a
pokud Čínská věta o zbytku se používá ke zlepšení rychlosti dešifrování, viz CRT-RSA. Šifrování a zpráva M vyrábí šifrový text
které lze dešifrovat pomocí
výpočtem
.
Nízký veřejný exponent
S cílem snížit šifrování nebo podpis -ověření je užitečné použít malou veřejnost exponent (
). V praxi běžná volba pro
jsou 3, 17 a 65537
. Tyto hodnoty pro E jsou Fermat připraví, někdy označované jako
a
resp
. Jsou vybráni, protože dělají modulární umocňování provoz rychlejší. Také, když jsem si vybral takové
, je jednodušší vyzkoušet, zda
a
při generování a testování prvočísel v kroku 1 generace klíčů. Hodnoty
nebo
že tento test nevyhoví, může být odmítnut tam a poté. (Ještě lepší: pokud E je prvočíslo a větší než 2 než test
může nahradit nákladnější test
.)
Pokud je veřejný exponent malý a prostý text
je velmi krátká, pak může být snadné invertovat funkci RSA, což umožňuje určité útoky.Vycpávková schémata zajistit, aby zprávy měly plnou délku, ale navíc si zvolily veřejného exponenta
je doporučeno. Když se použije tato hodnota, vyžaduje ověření podpisu 17 násobení, na rozdíl od asi 25 při náhodném výběru
používá se podobné velikosti. Na rozdíl od nízkého soukromého exponenta (viz Wienerův útok ), útoky, které platí, když jsou malé
používá se zdaleka ne celkem přestávka který by získal tajný klíč dNejvýkonnější útoky na málo veřejného exponenta RSA jsou založeny na následující větě, která je způsobena Don Coppersmith.
Coppermithova metoda
- Věta 1 (Coppersmith)[1]
- Nechat N být celé číslo a
být monický polynom stupně
přes celá čísla. Soubor
pro
. Pak, vzhledem k tomu
Útočník, Eva, dokáže efektivně najít všechna celá čísla
uspokojující
. The provozní doba dominuje čas potřebný ke spuštění Algoritmus LLL na mříž z dimenze Ó
s
.
Tato věta uvádí existenci algoritmus který dokáže efektivně najít vše kořeny z
modulo
které jsou menší než
. Tak jako
zmenší, runtime algoritmu se sníží. Silnou stránkou této věty je schopnost najít všechny malé kořeny polynomů modulo kompozit
.
Håstadův vysílací útok
Nejjednodušší forma útoku Håstad[2] je uveden pro usnadnění porozumění. Obecný případ používá metodu Coppersmith.
Předpokládejme, že jeden odesílatel pošle stejnou zprávu
v šifrované formě pro řadu lidí
, z nichž každý používá stejný malý veřejný exponent
, řekněme
a různé moduly
. Jednoduchý argument ukazuje, že jakmile
šifrovací texty jsou známé, zpráva
již není zabezpečený: Předpokládejme, že Eva zachytí
, a
, kde
. Můžeme předpokládat
pro všechny
(jinak je možné vypočítat a faktor jednoho z
Výpočetní technikou
.) Podle Čínská věta o zbytku, může počítat
takhle
. Pak
; od té doby
pro všechny
', my máme
. Tím pádem
drží nad celými čísly a Eva může vypočítat třetí odmocnina z
získat
.
Pro větší hodnoty
je zapotřebí více šifrovacích textů,
šifrovací texty jsou dostatečné.
Zobecnění
Håstad také ukázal, že použití a lineární -polstrování na
před šifrováním nechrání před tímto útokem. Předpokládejme, že se to útočník dozví
pro
a některé lineární funkce
, tj. Bob použije a podložka do zpráva
před šifrování tak, aby příjemci dostávali mírně odlišné zprávy. Například pokud
je
Bob dlouhý, možná zašifrovat
a pošlete to do
-tý příjemce.
Pokud je zapojena dostatečně velká skupina lidí, může útočník obnovit prostý text
ze všech šifrový text podobnými metodami. Obecněji Håstad dokázal, že systém univariate rovnice modulo relativně prime kompozity, jako je použití jakýchkoli pevných polynomiální
, by mohl být vyřešen, pokud dostatečně mnoho rovnice jsou poskytovány. Tento Záchvat naznačuje, že randomizované polstrování by měl být použit v Šifrování RSA.
- Věta 2 (Håstad)
- Předpokládat
jsou relativně prime celá čísla a nastavit
. Nechat
být
polynomy maxima stupeň
. Předpokládejme, že existuje jedinečný
uspokojující
pro všechny
. Dále předpokládejme
. Existuje efektivní algoritmus který, vzhledem k tomu
pro všechny
, počítá
.
- Důkaz
Protože
jsou relativně prime the Čínská věta o zbytku lze použít k výpočtu koeficienty
uspokojující
a
pro všechny
. Nastavení
víme, že
. Protože
jsou nonnula máme to
je také nenulová. Stupeň
je nanejvýš
. Podle Coppersmithovy věty můžeme spočítat vše celé číslo kořeny
uspokojující
a
. To však víme
, tak
je jedním z kořenů nalezených Coppersmithovou větou.
Tuto větu lze aplikovat na problém vysílání RSA následujícím způsobem: Předpokládejme
-tý prostý text je vyplněn polynomem
, aby
. Pak
je pravda a lze použít metodu Coppersmith. Útok jednou uspěje
, kde
je počet zpráv. Původní výsledek používal Håstadovu variantu místo plné metody Coppersmith. Ve výsledku to vyžadovalo
zprávy, kde
.[2]
Franklin-Reiter útok související se zprávou
Franklin-Reiter identifikoval nový útok proti RSA s veřejností exponent
. Pokud dva zprávy se liší pouze známým pevným rozdílem mezi těmito dvěma zprávami a jsou RSA šifrované pod stejným RSA modul
, pak je možné oba obnovit.
Nechat
být veřejným klíčem Alice. Předpokládat
jsou dva odlišné zprávy uspokojující
pro některé veřejně známé polynomiální
. Poslat
a
Alice, Bob může naivně zašifrovat the zprávy a vysílat výsledný šifrovací texty
. Eva se může snadno vzpamatovat
daný
pomocí následující věty:
- Věta 3 (Franklin-Reiter)[1]
- Soubor
a nechte
být veřejným klíčem RSA. Nechat
uspokojit
pro některé lineární polynomiální
s
. Pak, vzhledem k tomu
, útočník, Eva, se může vzchopit
včas kvadratický v
.
Pro libovolný
(spíše než se omezovat na
) požadovaný čas je kvadratický v
a
.
- Důkaz
Od té doby
, víme, že
je vykořenit z polynomiální
. Podobně,
je kořenem
. The lineární faktor
rozděluje obě polynomy Eva proto vypočítá největší společný dělitel (gcd) ze dne
a
, pokud se gcd ukáže být lineární,
je nalezeno. The gcd lze vypočítat v kvadratickém čase v
a
za použití Euklidovský algoritmus.
Coppersmithův útok na krátkou podložku
Stejně jako útok Håstada a Franklin-Reitera využívá tento útok slabost RSA s veřejným exponentem
. Coppersmith ukázal, že pokud se náhodně použije výplň navržená Håstadem nesprávně RSA šifrování není bezpečný.
Předpokládejme, že Bob pošle zprávu
Alice pomocí malého náhodného polstrování šifrování to. Útočník, Eva, zachytí šifrový text a brání mu v dosažení cíle. Bob se rozhodne znovu poslat
Alice, protože Alice na jeho zprávu neodpověděla. Náhodně polštářky
znovu a vysílá výsledný šifrový text. Eve má nyní dva šifrovací texty odpovídající dvěma šifrováním stejné zprávy pomocí dvou různých náhodných bloků.
Přestože Eva nezná použitou náhodnou podložku, stále může zprávu obnovit
pomocí následující věty, pokud je náhodná výplň příliš krátká.
- Věta 4 (Coppersmith)
- Nechat
být veřejností RSA klíč kde
je
-bity dlouhé. Soubor
. Nechat
být nanejvýš dlouhá zpráva
bity. Definovat
a
, kde
a
jsou odlišný celá čísla s
. Pokud je dána Eva
a šifrování
z
(ale není uveden
nebo
), může se efektivně zotavit
.
- Důkaz[1]
Definovat
a
. Víme to kdy
, tyto polynomy mít
jako obyčejný kořen. Jinými slovy,
je kořenem výsledný
. Dále
. Proto,
je malý kořen
modulo
a Eva jej může efektivně najít pomocí metody Coppersmith. Jednou
je známo, že útok Franklin-Reiter lze použít k zotavení
a následně
.
Viz také
Reference