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 .

Prohlášení o problému

Nechť nějaká konečná multiplikativní abelovská grupa dostane rovnici

. (jeden)

Řešením problému diskrétního logaritmu je najít nějaké nezáporné celé číslo , které splňuje rovnici (1). Pokud je řešitelný, musí mít alespoň jedno přirozené řešení nepřesahující pořadí skupiny. To okamžitě poskytuje hrubý odhad složitosti algoritmu hledání řešení shora - vyčerpávající vyhledávací algoritmus by našel řešení v počtu kroků, které nejsou vyšší, než je řád dané skupiny.

Nejčastěji se uvažuje případ, kdy , tedy skupina je cyklická generovaná prvkem . V tomto případě má rovnice vždy řešení. V případě libovolné grupy vyžaduje samostatné posouzení otázka řešitelnosti úlohy diskrétního logaritmu, tedy otázka existence řešení rovnice (1).

Příklad

Zvažte problém diskrétního logaritmu v kruhu reziduí modulo prvočíslo. Nechť je uvedeno srovnání

Problém vyřešíme výčtem . Vypišme si tabulku všech mocnin čísla 3. Pokaždé dopočítáme zbytek po dělení 17 (například 3 3 ≡ 27 - zbytek po dělení 17 je 10).

3 1 ≡ 3 3 2 ≡ 9 3 3 ≡ 10 3 4 ≡ 13 3 5 ≡ 5 3 6 ≡ 15 3 7 ≡ 11 3 8 ≡ 16
3 9 ≡ 14 3 10 ≡ 8 3 11 ≡ 7 3 12 ≡ 4 3 13 ≡ 12 3 14 ≡ 2 3 15 ≡ 6 3 16 ≡ 1

Nyní je snadné vidět, že řešení uvažovaného srovnání je x=4 , protože 3 4 ≡13.

V praxi je modul obvykle poměrně velký a metoda výčtu je příliš pomalá, takže je potřeba rychlejších algoritmů.

Algoritmy řešení

V libovolné multiplikativní skupině

Článek J. Buchmanna, MJ Jacobsona a E. Teske je věnován řešitelnosti a řešení úlohy diskrétního logaritmu v libovolné konečné abelovské grupě. [1] Algoritmus používá tabulku skládající se z dvojic prvků a provádí násobení. Tento algoritmus je pomalý a není vhodný pro praktické použití. Pro specifické skupiny existují jejich vlastní, efektivnější, algoritmy.

V kruhu zbytků modulo prime

Zvažte srovnání

(2)

kde  je prvočíslo a není dělitelné beze zbytku. Jestliže je generujícím prvkem grupy , pak rovnice (2) má řešení pro libovolné . Taková čísla se také nazývají primitivní kořeny a jejich počet je , kde  je Eulerova funkce . Řešení rovnice (2) lze nalézt podle vzorce:

Složitost výpočtu tohoto vzorce je však horší než složitost výčtu.

Následující algoritmus je složitý .

Algoritmus
  1. Přiřadit
  2. Vypočítat
  3. Vytvořte tabulku hodnot pro a seřaďte ji.
  4. Vytvořte tabulku hodnot pro a seřaďte ji.
  5. Najděte společné prvky v tabulkách. Pro ně kde
  6. Vydání .

Existuje také mnoho dalších algoritmů pro řešení problému diskrétního logaritmu v poli reziduí. Obvykle se dělí na exponenciální a subexponenciální. Polynomiální algoritmus pro řešení tohoto problému zatím neexistuje.

Algoritmy s exponenciální složitostí
  1. Shanksův algoritmus ( algoritmus velkého a malého kroku , baby-step gigant-step )
  2. Polyg-Hellmanův algoritmus  - funguje, pokud je znám rozklad čísla na prvočinitele. Obtížnost: . Pokud jsou faktory, na které se rozkládají , dostatečně malé, pak je algoritmus velmi efektivní [2] .
  3. Pollardova ρ-metoda má heuristický odhad složitosti [3] .
Subexponenciální algoritmy

V L-notaci se výpočetní složitost těchto algoritmů odhaduje jako aritmetické operace, kde a  jsou nějaké konstanty. Účinnost algoritmu do značné míry závisí na blízkosti hodnot a k 1 a 0.

  1. Adlemanův algoritmus se objevil v roce 1979 [4] . Byl to první sub-exponenciální diskrétní logaritmický algoritmus. V praxi to však není příliš efektivní. v tomto algoritmu .
  2. Algoritmus COS navrhli v roce 1986 matematici Don Coppersmith, Andrew Odlyzko a Schroeppel [ 5 ] . V tomto algoritmu je konstanta , . V roce 1991 byl pomocí této metody proveden modulo logaritmus . V roce 1997 Weber provedl modulo diskrétní logaritmus pomocí některé verze tohoto algoritmu. Experimentálně bylo prokázáno, že pro algoritmus COS je lepší než síto číselného pole.
  3. Diskrétní logaritmus pomocí číselného pole síta byl aplikován na diskrétní logaritmus později než na faktorizaci čísel. První nápady se objevily v 90. letech 20. století. Algoritmus navržený D. Gordonem v roce 1993 měl heuristickou složitost [6] , ale ukázal se být značně nepraktický. Později bylo navrženo mnoho různých vylepšení tohoto algoritmu. Ukázalo se, že se sítem je číselné pole rychlejší než COS. Pomocí této metody se získávají moderní záznamy v diskrétním logaritmu.

Nejlepší parametry v odhadu složitosti jsou v současnosti , [7] .

U čísel zvláštního druhu lze výsledek zlepšit. V některých případech je možné sestavit algoritmus, pro který budou konstanty , . Vzhledem k tomu, že konstanta je dostatečně blízko 1, mohou takové algoritmy předběhnout algoritmus s .

V libovolném konečném poli

Problém je uvažován v poli GF(q) , kde ,  je jednoduché.

  1. Algoritmus výpočtu indexu ( index-calculus ) je efektivní, pokud je malý. V tomto případě má heuristický odhad složitosti .
  2. Algoritmus ElGamal , který se objevil v roce 1985, je použitelný a má složitost aritmetických operací.
  3. Coppersmithův algoritmus pro diskrétní logaritmus v konečném poli charakteristiky 2 se stal prvním subexponenciálním diskrétním logaritmickým algoritmem s konstantou v odhadu složitosti . Tento algoritmus se objevil v roce 1984  - před vynálezem číselného síta [8] .

Ve skupině bodů na eliptické křivce

Uvažuje se skupina bodů eliptické křivky nad konečným polem. Tato skupina definuje operaci sčítání dvou bodů. Pak  je toto . Řešením problému diskrétního logaritmu na eliptické křivce je najít takové přirozené číslo , které pro dané body a

Do roku 1990 neexistovaly žádné diskrétní logaritmické algoritmy, které by braly v úvahu strukturální rysy skupiny bodů na eliptické křivce. Následně Alfred Menezes , Tatsuaki Okamoto a Scott Vanstone navrhli algoritmus využívající Weilovo párování [9] . Pro eliptickou křivku definovanou přes pole tento algoritmus redukuje problém diskrétního logaritmu na podobný problém v poli . Toto snížení je však užitečné pouze v případě, že je stupeň malý. Tato podmínka je splněna hlavně pro nadsingulární eliptické křivky. V jiných případech taková redukce téměř nikdy nevede k subexponenciálním algoritmům.

Výpočetní složitost a aplikace v kryptografii

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 . Klasická kryptografická schémata na něm založená jsou schéma generování společného klíče Diffie-Hellman [10] , schéma elektronického podpisu ElGamal [11] [12] , kryptosystém Massey-Omura [13] 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. Přestože samotná exponenciální funkce se počítá poměrně efektivně, i nejmodernější algoritmy pro výpočet diskrétního logaritmu mají velmi vysokou složitost, která je srovnatelná se složitostí nejrychlejších algoritmů pro faktorování čísel .

Další možností pro efektivní řešení problému výpočtu diskrétního logaritmu souvisí s kvantovým počítáním . Teoreticky bylo dokázáno, že pomocí Shorova algoritmu lze vypočítat diskrétní logaritmus v polynomiálním čase [14] [15] [16] . V každém případě, pokud je implementován polynomiální algoritmus pro výpočet diskrétního logaritmu, bude to znamenat, že kryptosystémy na něm založené jsou pro dlouhodobou ochranu dat prakticky nevhodné. Je zvažována řada nápadů na vytvoření nových algoritmů veřejného klíče .

Poznámky

  1. ↑ Buchmann  J. , Jacobson MJ, Teske E. K některým výpočetním problémům v konečných abelovských grupách  // Matematika počítání : deník. - 1997. - Sv. 66 . - S. 1663-1687 . - doi : 10.1090/S0025-5718-97-00880-6 .
  2. S. Pohlig, M. Hellman. Vylepšený algoritmus pro výpočet logaritmů a jeho kryptografický význam (správně)  // IEEE Transactions on Information Theory. - 1978. - Leden ( ročník 24 , číslo 1 ). - S. 106-110 . — ISSN 0018-9448 . - doi : 10.1109/TIT.1978.1055817 . Archivováno z originálu 21. června 2018.
  3. JM Pollard. Metody Monte Carlo pro výpočet indexu (mod p)  // Matematika počítání. - 1978. - Leden ( roč. 32 , číslo 143 ). - S. 918-924 . - doi : 10.1090/S0025-5718-1978-0491431-9 .
  4. L. Adleman. Subexponenciální algoritmus pro problém diskrétního logaritmu s aplikacemi pro kryptografii  // 20. výroční symposium o základech informatiky. - 1979. - Říjen. - S. 55-60 . - doi : 10.1109/SFCS.1979.2 . Archivováno z originálu 10. května 2017.
  5. Don Coppersmith, Andrew M. Odlzyko, Richard Schroeppel. Diskrétní logaritmy inGF(p)  (anglicky)  // Algorithmica. - 1986. - Listopad ( vol. 1 , iss. 1-4 ). - str. 1-15 . - doi : 10.1007/BF01840433 . Archivováno z originálu 13. dubna 2018.
  6. Daniel M. Gordon. Diskrétní logaritmy v GF(p) pomocí síta číselných polí  // SIAM Journal on Discrete Mathematics. - 1993. - T. 6 , no. 1 . - S. 124-138 . - doi : 10.1137/0406010 .
  7. Don Coppersmith. Úpravy číselného pole Sieve  //  ​​​​Journal of Cryptology. - 1993. - Sv. 6 , iss. 3 . - S. 169-180 . - doi : 10.1007/BF00198464 . Archivováno z originálu 19. června 2018.
  8. D. Měděník. Rychlé vyhodnocení logaritmů v polích dvou charakteristik  // IEEE Transactions on Information Theory. - 1984. - Červenec ( díl 30 , číslo 4 ). - S. 587-594 . — ISSN 0018-9448 . - doi : 10.1109/TIT.1984.1056941 .
  9. AJ Menezes, T. Okamoto, SA Vanstone. Redukce logaritmů eliptických křivek na logaritmy v konečném poli  // IEEE Transactions on Information Theory. — 1993-09-01. - T. 39 , č.p. 5 . - S. 1639-1646 . — ISSN 0018-9448 . - doi : 10.1109/18.259647 . Archivováno z originálu 2. července 2017.
  10. Diffie, Hellman, 1976 .
  11. Elgamal, 1984 .
  12. Elgamal, 1985 .
  13. James L. Massey, Jimmy K. Omura. Způsob a zařízení pro zachování soukromí digitálních zpráv přenášených veřejným přenosem (28. ledna 1986). Archivováno z originálu 20. října 2016.
  14. Shor, 1994 .
  15. Shor PW Polynomiální-časové algoritmy pro prvočinitele a diskrétní logaritmy na kvantovém počítači // Základy informatiky: Publikace z konference. - 1997. - S. 1484-1509.
  16. CompuTerra Online #224 - Kvantové počítače a kvantové výpočty ... Rozhovor s kandidátem fyzikálních a matematických věd, odborníkem na teorii algoritmů Michailem Vjalym (Výpočetní centrum Ruské akademie věd)

Odkazy