Coppersmithova věta

Coppersmithův teorém ( Coppersmithova metoda) je teorém, který vám umožní efektivně najít všechny nuly normalizovaných polynomů modulo určité hodnoty. [jeden]

Věta se používá především pro útoky na kryptosystém RSA . Tato metoda je účinná, pokud je exponent kódování dostatečně malý nebo pokud je známa část tajného klíče . Tato věta také souvisí s algoritmem LLL .

Popis

Úvod

Věta navrhuje algoritmus pro efektivní nalezení kořenů normalizovaného polynomu modulo , které jsou menší než . Pokud je malý, algoritmus poběží rychleji. Výhodou věty je schopnost najít malé kořeny polynomu modulo . Pokud je modul prvočíslo, pak nemá smysl používat Coppersmithovu větu . Mnohem efektivnější bude použít jiné způsoby, jak najít kořeny polynomu. [jeden]

Malý exponent kódování

Pro zkrácení doby šifrování nebo ověřování podpisu je žádoucí použít malý (exponent kódování). Nejmenší možná hodnota je , ale doporučuje se používat (pro ochranu před některými útoky). Při použití hodnoty , je k ověření podpisu potřeba 17 násobení ( , kde  je pořadí multiplikativní skupiny , možná asi 1000). Útoky zaměřené na použití malých nejsou vždy účinné.

Nejsilnější útoky na malý exponent kódování jsou založeny na Coppersmithově teorému , který má mnoho aplikací, z nichž jednou je útok Hasted. [2]

Attack of Hasted

Předpokládejme, že jeden odesílatel pošle stejnou zprávu v zašifrované podobě určitému počtu lidí , z nichž každý používá stejný malý exponent kódování , řekněme , a různé páry a . Odesílatel zašifruje zprávu pomocí veřejného klíče každého uživatele a odešle ji příslušnému příjemci. Poté, pokud protivník naslouchá přenosovému kanálu a shromažďuje přenášené šifrové texty , bude schopen obnovit zprávu .

Důkaz

Předpokládejme, že nepřítel byl zachycen a kde . Předpokládáme, že jsou relativně prvočísla , jinak největší společný dělitel jiný než jednota znamenal nalezení dělitele jednoho z . Aplikováním čínské věty o zbytku na a dostaneme takové, že , který má hodnotu . Když to však víme , dostáváme . To znamená , že protivník může dešifrovat zprávu tím , že vezme krychli z .

Pro obnovení zprávy s libovolnou hodnotou exponentu otevřeného kódování je nutné, aby protivník zachytil šifrové texty .

Formulace

Dovolit a být normalizovaný polynom stupně . Nechte ,. _ Útočník pak s daným párem efektivně najde všechna celá čísla vyhovující . Doba provádění je určena provedením algoritmu LLL na mřížce dimenzí , kde . [jeden]

Důkaz

Nechť je přirozené číslo , které budeme definovat později. Pojďme definovat

Polynomy používáme pro a jako základ naší mřížky . Například když a dostaneme mřížkovou matici rozloženou po řádcích:

,

kde "—" označuje nenulové mimodiagonální prvky, jejichž hodnota neovlivňuje determinant . Velikost této mřížky je a její determinant se vypočítá takto:

To vyžadujeme . z toho vyplývá

které lze zjednodušit

,

kde a pro všechny . Pokud vezmeme , pak dostaneme a, tedy a . Konkrétně, pokud chceme řešit pro libovolný , postačí vzít , kde . [3]

Viz také

Poznámky

  1. ↑ 1 2 3 Dan Boneh. Dvacet let útoků na kryptosystém RSA . Získáno 25. listopadu 2016. Archivováno z originálu dne 26. března 2016.
  2. Ušakov Konstantin. Hackování systému RSA . Datum přístupu: 25. listopadu 2016. Archivováno z originálu 1. prosince 2016.
  3. Glenn Durfee. KRYPTANALÝZA RSA POMOCÍ ALGEBRAICKÉ A MŘÍŽKOVÉ METODY (červen 2002). Datum přístupu: 30. listopadu 2016. Archivováno z originálu 4. března 2016.