Coppersmith útok

Útok Coppersmith popisuje třídu kryptografických útoků na veřejný klíč kryptosystému RSA založených na Coppersmithově metodě . Zvláštností použití této metody pro RSA útoky jsou případy, kdy je veřejný exponent malý nebo kdy je soukromý klíč částečně znám.

Základy RSA

Veřejný klíč kryptosystému RSA je dvojice přirozených čísel , kde je součin dvou prvočísel a , a číslo  je veřejný exponent. Celé číslo ( , kde  je Eulerova funkce ) je spojeno s hodnotou . Obvykle se prvočísla berou jako kvalita obsahující malý počet jednotlivých bitů v binárním zápisu, například Fermat prvočísla 17, 257 nebo 65537.

Tajný klíč je určen prostřednictvím soukromého exponentu . Číslo je multiplikativně inverzní k číslu modulo , to znamená, že číslo splňuje vztah:

.

Pár je publikován jako veřejný klíč RSA ( angl . RSA public key ) a pár hraje roli soukromého klíče RSA ( eng . RSA private key ) a je držen v tajnosti.

Coppersmithův teorém

Formulace [1]

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 . [2]

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]

Attack of Hasted

Formulace

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 [4]

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 .

Attack of Coppersmith

Formulace

Předpokládejme veřejný klíč RSA , kde délka je -bitů. Vezměme si hodně . Nechť zpráva není delší než bitů. Definujme a , kde a jsou odlišná celá čísla a a Pokud protivník obdrží obě šifry od (ale nepřijme nebo ), pak může efektivně obnovit zprávu .

Důkaz [2]

Pojďme definovat a . Víme, že když , tyto polynomy mají společný kořen. Jinými slovy, toto je kořen „výsledku“ . stupně nejčastěji . Navíc, . Proto je to malý modulo kořen a protivník jej může efektivně najít pomocí Coppersmithovy věty . Jakmile je znám, útok Franklin-Reiter může být použit ke krytí , tedy a .

Poznámky

  1. Don Coppersmith. Nalezení malého kořene jednorozměrné modulární rovnice .  (nedostupný odkaz)
  2. ↑ 12 Dan Boneh . Dvacet let útoků na kryptosystém RSA . Získáno 1. prosince 2016. Archivováno z originálu dne 26. března 2016.
  3. Glenn Durfee. KRYPTANALÝZA RSA POMOCÍ ALGEBRAICKÉ A MŘÍŽKOVÉ METODY (červen 2002). Staženo 1. prosince 2016. Archivováno z originálu 4. března 2016.
  4. Ušakov Konstantin. Hackování systému RSA . Datum přístupu: 6. prosince 2016. Archivováno z originálu 1. prosince 2016.