Coppersmith-tétel

A Coppersmith -tétel ( Coppersmith - módszer) egy olyan tétel, amely lehetővé teszi, hogy hatékonyan megtalálja a normalizált polinomok összes nulláját egy bizonyos érték függvényében. [egy]

A tételt főleg az RSA kriptorendszer elleni támadásokra használják . Ez a módszer akkor hatékony, ha a kódolási kitevő elég kicsi, vagy ha a titkos kulcs egy része ismert . A tétel az LLL algoritmushoz is kapcsolódik .

Leírás

Bevezetés

A tétel egy algoritmust javasol egy normalizált polinom modulo gyökeinek hatékony megtalálására , amelyek kisebbek, mint . Ha kicsi, akkor az algoritmus gyorsabban fog futni. A tétel előnye, hogy képes megtalálni egy polinom modulo kis gyökét . Ha a modulus egy prímszám, akkor nincs értelme a Coppersmith -tételt használni . Sokkal hatékonyabb lesz más módszereket használni a polinomok gyökereinek megtalálására. [egy]

Kis kódolási kitevő

A titkosítási vagy aláírás-ellenőrzési idő csökkentése érdekében kívánatos kis (kódoló kitevő) használata. A lehető legkisebb érték a , de használata javasolt (egyes támadások elleni védelem érdekében). Az érték használatakor 17 szorzás szükséges az aláírás ellenőrzéséhez ( , ahol a szorzócsoport  sorrendje , talán körülbelül 1000). A kicsi használatára összpontosító támadások nem mindig hatékonyak.

A kis kódoló kitevő elleni legerősebb támadások Coppersmith tételén alapulnak , amelynek számos alkalmazása van, ezek közül az egyik a Hasted támadás. [2]

Attack of Hasted

Tegyük fel, hogy egy feladó ugyanazt az üzenetet titkosított formában küldi el bizonyos számú embernek , akik mindegyike ugyanazt a kis kódolási kitevőt használja , mondjuk , és különböző párokat , és . A feladó titkosítja az üzenetet az egyes felhasználók nyilvános kulcsával, és elküldi a megfelelő címzettnek. Ezután, ha az ellenfél hallgatja az átviteli csatornát, és összegyűjti a továbbított titkosított szövegeket , akkor képes lesz visszaállítani az üzenetet .

Bizonyítás

Tegyük fel, hogy az ellenség elfogta , és ahol . Feltételezzük, hogy ezek viszonylag prímszámúak , különben az egységen kívüli legnagyobb közös osztó az egyik osztójának megtalálását jelentette . Ha a kínai maradéktételt alkalmazzuk a -ra , és azt kapjuk , hogy , amelynek értéke van . Ennek ismeretében azonban megkapjuk . Ez azt jelenti , hogy az ellenfél visszafejtheti az üzenetet a kockagyökért .

A nyílt kódolású kitevő tetszőleges értékével rendelkező üzenet helyreállításához szükséges, hogy az ellenfél elfogja a rejtjelezett szövegeket .

Megfogalmazás

Legyen és egy fokú normalizált polinom . Hagyjuk , . Ezután a pár adott esetben a támadó minden egész számot kielégítőnek talál . A végrehajtási időt az LLL algoritmus végrehajtása határozza meg egy dimenziós rácson , ahol . [egy]

Bizonyítás

Legyen természetes szám , amelyet később definiálunk. Határozzuk meg

A polinomokat használjuk rácsunk alapjául . Például amikor és kapunk egy rácsmátrixot , amely sorokra feszül:

,

ahol a "-" nem nullától eltérő átlós elemeket jelöl, amelyek értéke nem befolyásolja a determinánst . Ennek a rácsnak a mérete , és a determinánsát a következőképpen számítjuk ki:

Ezt megköveteljük . ez azt jelenti

amelyre leegyszerűsíthető

,

hol és mindenért . Ha vesszük , akkor egy, tehát, és . Különösen, ha egy tetszőleges -t akarunk megoldani , akkor elegendő a , ahol . [3]

Lásd még

Jegyzetek

  1. ↑ 1 2 3 Dan Boneh. Húsz éves támadások az RSA kriptorendszer ellen . Letöltve: 2016. november 25. Az eredetiből archiválva : 2016. március 26.
  2. Ushakov Konstantin. Az RSA rendszer feltörése . Hozzáférés dátuma: 2016. november 25. Az eredetiből archiválva : 2016. december 1.
  3. Glenn Durfee. AZ RSA KRIPTANAlízise ALGEBRAI ÉS RÁCSOS MÓDSZEREKKEL (2002. június). Hozzáférés dátuma: 2016. november 30. Az eredetiből archiválva : 2016. március 4.