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 .
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ů.
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í
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
Nechť je uvedeno srovnání
((jeden)) |
Je třeba najít přirozené číslo x , které vyhovuje srovnání (1).
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:
Adlemanův algoritmus má heuristický odhad složitosti aritmetických operací, kde je nějaká konstanta. V praxi to není dostatečně efektivní.
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 (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 .
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 ( 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 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.