Algoritmus počtu řádů ( algoritmus indexového počtu ) je pravděpodobnostní algoritmus pro výpočet diskrétního logaritmu v prstencovém zbytku modulo prvočíslo . Složitost nalezení jednotlivého logaritmu je základem mnoha algoritmů souvisejících s kryptografií . Protože řešení tohoto problému pomocí velkých čísel vyžaduje velké množství zdrojů, které žádný moderní počítač nemůže poskytnout . Příkladem takového algoritmu je GOST R 34.10-2012 .
Maurice Krajczyk poprvé navrhl základní myšlenku tohoto algoritmu ve své knize „Théorie des Nombres“ v roce 1922. Po roce 1976 se problém diskrétního logaritmu stává důležitým v matematice a kryptoanalýze. To je způsobeno vytvořením kryptosystému Diffie-Hellman . V tomto ohledu v roce 1977 R. Merkle obnovil diskuse o tomto algoritmu. O dva roky později ji poprvé zveřejnili kolegové Merkelové. Adlerman ji nakonec v roce 1979 optimalizoval, prozkoumal složitost a představil ji v podobě, kterou známe dnes. Algoritmus počtu řádů a jeho vylepšené verze v současné době poskytují nejrychlejší způsob výpočtu diskrétních logaritmů v některých konečných skupinách.
Pro dané prvočíslo a dvě celá čísla je nutné najít celé číslo , které vyhovuje srovnání:
kde je prvek cyklické skupiny generovaný prvkem .
Vstup : g - generátor cyklické grupy řádu n , a - z cyklické podskupiny, p - prvočíslo, c - parametr spolehlivosti, obvykle se rovná 10 nebo číslu blízkému této hodnotě (používá se k implementaci algoritmu na počítač, pokud se člověk rozhodne, tak to nenastaví).
Úkol : najdi x takové, že .
Výstup : .
Řešte rovnici:
Vyberte faktorovou základnu Nechť k = 7 Vypočítejte
Vezmeme logaritmus a označíme A dostaneme soustavu rovnic
Řešíme to
Opravdu, proto , ,
Najdeme k takové, že
tudíž
Vezmeme logaritmus tohoto výrazu a dostaneme
odpověď :
V tomto algoritmu závisí počet iterací jak na velikosti p , tak na velikosti faktorové báze. Faktorovou základnu si ale vybíráme předem a její velikost je pevná. Konečná složitost je tedy určena pouze velikostí prvočísla a je rovna: , kde , jsou některé konstanty, které závisí na mezivýpočtech, zejména na volbě faktorové báze.
Algoritmus zrychleného výpočtu objednávky , jehož podstatou je použití indexové tabulky.
Výpočetní složitost je ve srovnání s původním algoritmem snížena na .