Järjestyslaskenta -algoritmi ( indeksi-laskenta-algoritmi ) on todennäköisyyspohjainen algoritmi diskreetin logaritmin laskemiseksi jäännösrenkaassa alkuluvun moduloimiseksi . Diskreetin logaritmin löytämisen monimutkaisuus on monien kryptografiaan liittyvien algoritmien perusta . Koska tämän ongelman ratkaiseminen suurilla määrillä vaatii paljon resursseja, joita mikään nykyaikainen tietokone ei pysty tarjoamaan . Esimerkki tällaisesta algoritmista on GOST R 34.10-2012 .
Maurice Krajczyk ehdotti ensimmäisen kerran tämän algoritmin perusideaa kirjassaan "Théorie des Nombres" vuonna 1922. Vuoden 1976 jälkeen diskreetin logaritmin ongelma tulee tärkeäksi matematiikassa ja kryptausanalyysissä. Tämä johtuu Diffie-Hellmanin salausjärjestelmän luomisesta . Tältä osin vuonna 1977 R. Merkle jatkoi keskusteluja tästä algoritmista. Kaksi vuotta myöhemmin Merkelin kollegat julkaisivat sen ensimmäisen kerran. Lopulta vuonna 1979 Adlerman optimoi sen, tutki sen monimutkaisuutta ja esitteli sen nykyisessä muodossa. Tällä hetkellä järjestyslaskenta-algoritmi ja sen parannetut versiot tarjoavat nopeimman tavan laskea diskreettejä logaritmeja joissakin äärellisissä ryhmissä.
Tietylle alkuluvulle ja kahdelle kokonaisluvulle on löydettävä kokonaisluku , joka tyydyttää vertailun:
jossa on elementin muodostaman syklisen ryhmän elementti .
Syöttö : g - kertaluvun n syklisen ryhmän generaattori , a - syklisestä aliryhmästä, p - alkuluku, c - luotettavuusparametri, joka yleensä on 10 tai luku, joka on lähellä tätä arvoa (käytetään algoritmin toteuttamiseen tietokone, jos henkilö päättää, sitä ei ole asetettu).
Tehtävä : etsi x sellainen, että .
Lähtö : .
Ratkaise yhtälö:
Valitse tekijäkanta Olkoon k = 7 Laske
Otamme logaritmin ja merkitsemme Ja saamme yhtälöjärjestelmän
Me ratkaisemme sen
Todellakin , siis ,
Löydämme k sellaista
Näin ollen
Otetaan tämän lausekkeen logaritmi ja saadaan
Vastaus :
Tässä algoritmissa iteraatioiden määrä riippuu sekä p :n koosta että tekijäkannan koosta. Mutta valitsemme tekijäkannan etukäteen, ja sen koko on kiinteä. Siksi lopullinen monimutkaisuus määräytyy vain alkuluvun koon mukaan ja on yhtä suuri kuin: , missä , ovat joitain vakioita, jotka riippuvat välilaskutoimituksista, erityisesti tekijäkannan valinnasta.
Nopeutettu tilauslaskentaalgoritmi , jonka ydin on indeksitaulukon käyttö.
Laskennallinen monimutkaisuus on vähennetty alkuperäiseen algoritmiin verrattuna.