Adlemanův algoritmus

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 27. července 2017; kontroly vyžadují 3 úpravy .

Adlemanův algoritmus  je první subexponenciální diskrétní logaritmický algoritmus v kruhu zbytků modulo prvočíslo . Algoritmus navrhl Leonard Max Adleman (narozený jako Leonard Adleman-Aidlman ) v roce 1979 . Leonard Max Adleman ( narozený  31. prosince 1945 ) je  americký počítačový vědec a profesor informatiky a molekulární biologie na University of Southern California . Je známý jako spoluvynálezce šifrovacího systému RSA (Rivest-Shamir-Adleman, 1977 ) a DNA computingu . RSA je široce používán v aplikacích počítačové bezpečnosti , včetně protokolu HTTPS .

Matematický aparát

Redukovaný systém zbytků modulo m  je množina všech čísel úplného systému zbytků modulo m , která jsou relativně prvočísla k m . Redukovaný systém reziduí modulo m se skládá z φ( m ) čísel, kde φ( ) je Eulerova funkce . Jakákoli φ(m) čísla, která jsou párově nesrovnatelná modulo m a jsou shodná s tímto modulem, představují redukovaný systém zbytků. Jako redukovaný systém zbytků modulo m se obvykle berou čísla od 1 do , coprime až m . Pokud x prochází také redukovaným systémem zbytků modulo m, pak ax nabývá také hodnot, které tvoří redukovaný systém zbytků modulo this [1] .

Redukovaný systém zbytků s multiplikačním modulem tvoří skupinu zvanou multiplikativní skupina nebo skupinu invertibilních prvků reziduálního kruhu modulo m , která se označuje nebo .

Faktorizace polynomu  je zobrazením daného polynomu jako součinu polynomů nižších stupňů.

Základní věta algebry říká, že každý polynom na poli komplexních čísel může být reprezentován jako součin lineárních polynomů a jedinečným způsobem až do konstantního faktoru a pořadí faktorů.

Opakem faktoringu polynomů je jejich rozšiřování , násobení polynomiálních faktorů k vytvoření "rozšířeného" polynomu zapsaného jako součet členů.

Problémové prohlášení

Nechť jsou polynomy dány tak, že

 je neredukovatelný normalizovaný polynom stupně  je generátorem multiplikativní grupy stupně menší než

Je nutné najít (pokud takové existuje) přirozené číslo vyhovující srovnání

Popis algoritmu

Fáze 1. Položme

Fáze 2. Najděte množinu neredukovatelných normalizovaných polynomů stupně nejvýše a očíslujte je čísly odkud

Fáze 3. Vyberme náhodně čísla a podobně

a vypočítat polynom takový, že

Fáze 4. Pokud je výsledný polynom součinem všech ireducibilních polynomů z množiny , tzn

kde  je vedoucí koeficient (pro rozklad unitárních polynomů nad konečným polem můžete použít např. Berlekampův algoritmus ), pak nastavíme Jinak zvolte jiný náhodný a opakujte kroky 3 a 4. Poté vytvořte a opakujte kroky 3 a 4. Opakujte, dokud ti, dokud Tímto způsobem dostaneme sady , a pro

Fáze 5 Počítáme tak, že gcd a

Fáze 6 Vypočítejme takové číslo

Fáze 7. Pokud gcd , přejděte ke kroku 3 a vyberte nové sady a jinak vypočítejte čísla a polynom tak, že

Fáze 8. Vypočítejte požadované číslo

Další verze algoritmu

Počáteční údaje

Nechť je uvedeno srovnání

((jeden))

Je třeba najít přirozené číslo x , které vyhovuje srovnání (1).

Popis algoritmu

Fáze 1. Vytvořte faktorovou základnu sestávající ze všech prvočísel q :

Fáze 2. Pomocí výčtu najděte přirozená čísla taková, že

to znamená, že se rozkládá podle faktorové báze. Z toho tedy vyplývá


((2))

Fáze 3. Po napsání mnoha vztahů (2) řešte výslednou soustavu lineárních rovnic s ohledem na neznámé diskrétní logaritmy prvků faktorové báze ( ).

Fáze 4. Pomocí nějakého výčtu najděte jednu hodnotu r , pro kterou

kde  jsou prvočísla „průměrné“ hodnoty, tj . kde  je také nějaká subexponenciální mez,

Fáze 5 Pomocí výpočtů podobných krokům 2 a 3 najděte diskrétní logaritmy .

Fáze 6 Určete požadovaný diskrétní logaritmus:


Výpočetní složitost

Adlemanův algoritmus má heuristický odhad složitosti aritmetických operací, kde  je nějaká konstanta. V praxi to není dostatečně efektivní.

Aplikace

Problém diskrétního logaritmu je jedním z hlavních problémů, na kterých je založena kryptografie s veřejným klíčem .

Diskrétní logaritmus

Diskrétní logaritmus (DLOG) je problém invertování funkce v nějaké konečné multiplikativní grupě .

Nejčastěji je problém diskrétního logaritmu uvažován v multiplikativní skupině zbytkového kruhu nebo konečného pole , stejně jako ve skupině bodů eliptické křivky nad konečným polem. Účinné algoritmy pro řešení problému diskrétního logaritmu jsou obecně neznámé.

Pro dané g a a se řešení x rovnice nazývá diskrétní logaritmus prvku a v základu g . V případě, že G je multiplikativní skupina zbytkového kruhu modulo m , řešení se také nazývá index čísla a vzhledem k bázi g . Je zaručena existence indexu a až základu g , pokud g je primitivní kořen modulo m .

Kryptografie veřejného klíče

Kryptografický systém s veřejným klíčem (nebo asymetrické šifrování , asymetrická šifra ) – systém šifrování a/nebo elektronického podpisu (ES), ve kterém je veřejný klíč přenášen přes otevřený (tj. nezabezpečený, pozorovatelný) kanál a používá se k ověření ES a pro šifrované zprávy. Pro vygenerování ES a dešifrování zprávy se používá soukromý klíč [2] . Kryptografické systémy s veřejným klíčem jsou nyní široce používány v různých síťových protokolech , zejména protokolech TLS a jeho předchůdci SSL (podkladem HTTPS ), SSH . Používá se také v PGP , S/MIME.Klasická kryptografická schémata na něm založená jsou schéma generování sdíleného klíče Diffie-Hellman , schéma elektronického podpisu ElGamal, kryptosystém Massey-Omura pro přenos zpráv. Jejich kryptografická síla je založena na údajně vysoké výpočetní složitosti invertování exponenciální funkce .

Protokol Diffie-Hellman

Protokol Diffie-Hellman ( anglicky  Diffie-Hellman , DH ) je šifrovací protokol , který umožňuje dvěma nebo více stranám získat sdílený tajný klíč pomocí komunikačního kanálu, který není chráněn před nasloucháním. Výsledný klíč se používá k šifrování dalších výměn pomocí symetrických šifrovacích algoritmů .

Schéma distribuce veřejného klíče navržené Diffiem a Hellmanem způsobilo skutečnou revoluci ve světě šifrování, protože odstranilo hlavní problém klasické kryptografie – problém distribuce klíčů.

Ve své čisté podobě je algoritmus Diffie-Hellman zranitelný vůči změnám dat v komunikačním kanálu, včetně útoku „ Man in the middle “, takže schémata, která jej používají, používají další metody jednosměrné nebo obousměrné autentizace.

Schéma ElGamal

Schéma Elgamal je kryptosystém s veřejným klíčem založený na obtížnosti výpočtu diskrétních logaritmů v konečném poli . Šifrovací systém zahrnuje šifrovací algoritmus a algoritmus digitálního podpisu. Schéma ElGamal je základem dřívějších standardů digitálního podpisu ve Spojených státech ( DSA ) a Rusku ( GOST R 34.10-94 ).

Schéma navrhl Taher El-Gamal v roce 1985 . [3] El-Gamal vyvinul variantu Diffie-Hellmanova algoritmu . Vylepšil systém Diffie-Hellman a získal dva algoritmy, které byly použity pro šifrování a pro autentizaci. Algoritmus ElGamal nebyl na rozdíl od RSA patentován, a proto se stal levnější alternativou, protože nebyly vyžadovány žádné licenční poplatky. Předpokládá se, že algoritmus je pokryt patentem Diffie-Hellman.

Poznámky

  1. Bukhshtab, A. A. Teorie čísel. - M .: Vzdělávání, 1966. - 385 s.
  2. Bruce Schneier. Aplikovaná kryptografie. 2. vyd. Protokoly, algoritmy a zdrojové texty v jazyce C. Kapitola 2.7 Digitální podpisy a šifrování.
  3. Taher ElGamal. Kryptosystém s veřejným klíčem a schéma podpisu založené na diskrétních logaritmech  // Transakce IEEE na  teorii informací : deník. - 1985. - Sv. 31 , č. 4 . - str. 469-472 . - doi : 10.1109/TIT.1985.1057074 .

Literatura