COS-algoritmen (Coppersmith, Odlyzhko, Shreppel) är en subexponentiell diskret logaritmalgoritm i ringen av rester modulo ett primtal. Det föreslogs 1986 .
Låt jämförelsen ges
((ett)) |
Det är nödvändigt att hitta ett naturligt tal x som uppfyller jämförelsen (1).
Steg 1. Låta
Låt oss bilda en uppsättning
där q är enkla.
Steg 2. Med hjälp av lite sållning letar vi efter par som , och
(det absolut minsta avdraget beaktas). Samtidigt sedan , då
dessutom är detta den absolut minsta restprodukten i denna klass och den har värdet . Därför är sannolikheten för dess jämnhet högre än för godtyckliga tal mindre än p -1.
Om vi tar logaritmen i basen a får vi relationen
Vi kan också anta att a är jämnt, dvs.
var
Steg 3. Efter att ha skrivit många ekvationer i det andra steget kommer vi att lösa det resulterande systemet med linjära ekvationer och hitta .
Steg 4. För att hitta x introducerar vi en ny jämnhetsgräns . Genom slumpmässig uppräkning finner vi ett värde w som uppfyller relationen
u är primtal av "genomsnittlig" magnitud.
Steg 5 Med metoder som liknar steg 2 och 3 hittar vi logaritmerna för primtalstalen u som uppstod i steg 4.
Steg 6 Vi hittar svaret:
Denna algoritm har komplexiteten hos aritmetiska operationer. Det antas att för siffror är denna algoritm mer effektiv än talfältssilen.