COS-algoritmi (Coppersmith, Odlyzhko, Shreppel) on subeksponentiaalinen diskreetti logaritmi -algoritmi jäännösrenkaassa , joka modulo alkulukua. Sitä ehdotettiin vuonna 1986 .
Esitetään vertailu
((yksi)) |
On tarpeen löytää luonnollinen luku x , joka tyydyttää vertailun (1).
Vaihe 1. Päästää
Muodostetaan setti
missä q ovat yksinkertaisia.
Vaihe 2. Seulonnan avulla etsimme sellaisia pareja , että , ja
(absoluuttinen pienin vähennys otetaan huomioon). Samaan aikaan, siitä lähtien
lisäksi tämä on ehdottomasti pienin jäännös tässä luokassa ja sen arvo on . Siksi sen tasaisuuden todennäköisyys on suurempi kuin mielivaltaisilla luvuilla, jotka ovat pienempiä kuin p -1.
Ottamalla logaritmin kannassa a saadaan relaatio
Voimme myös olettaa, että a on sileä, eli
missä
Vaihe 3. Kun olet kirjoittanut paljon yhtälöitä toisessa vaiheessa, ratkaisemme tuloksena olevan lineaariyhtälöjärjestelmän ja löydämme .
Vaihe 4. Löytääksemme x : n otamme käyttöön uuden sileysrajan . Satunnaislaskennan avulla löydämme yhden arvon w , joka tyydyttää suhteen
u ovat "keskimääräisen" suuruuden alkulukuja.
Vaihe 5 Käyttämällä vaiheiden 2 ja 3 kaltaisia menetelmiä löydämme vaiheessa 4 syntyneiden alkulukujen u logaritmit.
Vaihe 6 Löydämme vastauksen:
Tällä algoritmilla on aritmeettisten operaatioiden monimutkaisuus. Oletetaan, että numeroille tämä algoritmi on tehokkaampi kuin lukukenttäseula.