Shanks kvadratisk form metode

Shanks andengradsformmetoden  er en faktoriseringsmetode for heltal baseret på brugen af ​​kvadratiske former , udviklet af Daniel Shanks [1] i 1975 , som en udvikling af Fermats faktoriseringsmetode .

For 32-bit computere er algoritmer baseret på denne metode de ubestridte førende blandt faktoriseringsalgoritmer for tal fra til og vil sandsynligvis forblive det. [2] Denne algoritme kan opdele næsten ethvert 18-cifret sammensat tal på mindre end et millisekund. Algoritmen er ekstremt enkel, smuk og effektiv. Derudover bruges metoder baseret på denne algoritme som hjælpemidler i udvidelsen af ​​divisorer af store tal, såsom Fermat-tal .

Historie

Et andet navn for algoritmen er SQUFOF ( et akronym for engelsk er SQUAre FORM Factorization), hvilket betyder kvadratisk formfaktorisering . Denne tilgang har været ganske vellykket gennem årene, og som et resultat kan der findes en del forskellige modifikationer og implementeringer om dette emne i litteraturen. [3] De fleste af metoderne er komplekse og forvirrende, især når metoden skal implementeres på en computer. Som et resultat er mange varianter af algoritmer ikke egnede til implementering. Men i 1975 foreslog Daniel Shanks at skabe en algoritme , der kan implementeres og bruges ikke kun på en computer, men også på en simpel mobiltelefon.

Selvom Shanks har beskrevet andre algoritmer til heltalsfaktorisering, har han ikke publiceret noget på SQUFOF. Han holdt foredrag om emnet og forklarede den grundlæggende essens af sin metode for en ret lille kreds af mennesker. Nogle artikler fra andre videnskabsmænd [4] [3] [5] [6] diskuterede algoritmen, men ingen indeholder en detaljeret analyse. Det er også interessant, at Shanks i sin metode gør en del antagelser [7] , som desværre forblev uden bevis. I [8] præsenteres resultaterne af nogle forsøg, som indikerer, at mange antagelser er på plads. I sidste ende, baseret på disse forenklede antagelser, var Shanks i stand til at skabe SQUFOF.

Hjælpedefinitioner

For at forstå, hvordan denne algoritme implementeres, er det nødvendigt at kende minimumsinformationen om de matematiske objekter, der bruges i denne metode, nemlig kvadratiske former . En binær kvadratisk form er et polynomium i to variable og :


Shanks - metoden bruger kun ubestemte former . Med vi mener diskriminanten af ​​en kvadratisk form. Vi vil sige, at den kvadratiske form repræsenterer et heltal , hvis der er heltal, således at ligheden er sand: . Hvis ligheden er sand , kaldes repræsentationen primitiv .

For enhver ubestemt kvadratisk form kan reduktionsoperatoren defineres som:

, hvor  er defineret som et heltal , entydigt bestemt af betingelserne: [8]

Resultatet af at anvende operatoren på formularen én gang skrives som . Operatøren er også defineret som:

, hvor er defineret på samme måde som i det foregående tilfælde. Bemærk, at som et resultat af at anvende operatorerne og på en kvadratisk form med diskriminant , vil de resulterende kvadratiske former også have diskriminant .

Metoden til at opnå en reduceret form svarende til denne blev fundet af Carl Gauss og består i successiv anvendelse af reduktionsoperatoren, indtil den bliver reduceret.

Sætning.

Hver form svarer til en reduceret form, og enhver reduceret form for er lig med en positiv . Hvis - er reduceret, så reduceres det også.

For en klar forståelse af alle operationer med kvadratiske former har vi også brug for begreberne kvadratiske, tilstødende og tvetydige kvadratiske former

Indstillinger

Ideen med Shanks-metoden er at sammenligne det tal , der skal dekomponeres, med en kvadratisk binær form med en diskriminant , hvormed en række ækvivalente transformationer derefter udføres og overgangen fra formen til den flertydige form . Så vil være en divisor .

Den første variant arbejder med positiv-bestemte binære kvadratiske former af en given negativ diskriminant, og i formklassegruppen finder den en ambig form , som giver en faktorisering af diskriminanten. Kompleksiteten af ​​den første mulighed er underlagt sandheden i den udvidede Riemann-hypotese . [9]

Den anden variant er SQUFOF, som bruger en klassegruppe af binære kvadratiske former med en positiv diskriminant. Den finder også den flertydige form og faktoriserer diskriminanten. Kompleksiteten af ​​SQUFOF svarer til aritmetiske operationer; Algoritmen fungerer med heltal, der ikke overstiger . Blandt faktoriseringsalgoritmer med eksponentiel kompleksitet anses SQUFOF for at være en af ​​de mest effektive. [9]

Konvergensscore

Ifølge beregningerne udført af Shanks selv bestemmes antallet af iterationer af den første og anden cyklus af algoritmen af ​​antallet af faktorer i tallet og er omtrent lig med:

hvor er en konstant lig med ca. 2,4 for den første cyklus af iterationer. [ti]

Beskrivelse af algoritmen

Mere detaljeret kan algoritmen skrives som følger: [11]

Input: Et ulige sammensat tal , der skal faktoriseres. Hvis vi erstatter med Nu Den sidste egenskab er nødvendig for at determinanten for den kvadratiske form er fundamental, hvilket sikrer metodens konvergens.

Output: Ikke-trivial divisor .

1. Definer den oprindelige kvadratiske form , med diskriminant , hvor . 2. Lad os udføre reduktionscyklussen, indtil formen bliver firkantet. 3. Beregn kvadratroden af 4. Lad os udføre reduktionscyklussen, indtil værdien af ​​den anden koefficient stabiliserer sig . Antallet af iterationer af denne løkke skal være omtrent lig med halvdelen af ​​antallet af iterationer i den første løkke. Den sidste værdi vil give tallets divisor (muligvis trivielt).

Implementering af algoritmen

Nu beskriver vi algoritmen til implementering på en computer. [11] Bemærk, at selvom den teoretiske del af algoritmen er relateret til ækvivalente transformationer af kvadratiske former, er den praktiske del af algoritmen baseret på at beregne koefficienterne for den fortsatte fraktionmetode uden at ty til formerne. Hver iteration af sløjfen svarer til én operation med at anvende reduktionsoperatoren på den tilsvarende form. Om nødvendigt kan du gendanne de tilsvarende formularer ved hjælp af formlerne:


Input: Sammensat nummer

Output: Ikke-triviel divisor

Som allerede nævnt er dette ikke den eneste implementering af denne algoritme. Du kan også finde implementeringen af ​​algoritmen her [8]

Et eksempel på faktorisering af et tal

Vi anvender denne metode til at faktorisere tallet [8]

Cyklus #1
Cyklus #2

Nu kan du se i anden cyklus, at Deraf tallet

Ansøgninger

Denne algoritme bruges i mange implementeringer af NFS og QS til at faktorisere små hjælpenumre, der opstår ved faktorisering af et stort heltal. Under alle omstændigheder bruges SQUFOF hovedsageligt som en hjælpealgoritme i mere kraftfulde faktoriseringsalgoritmer, og derfor vil SQUFOF generelt blive brugt til at faktorisere tal af beskeden størrelse, der ikke har små primtal divisorer. Sådanne tal er normalt produktet af et lille antal forskellige primtal. [8] .

Noter

  1. For mere information om denne metodes historie og dens sammenhæng med den fortsatte fraktionmetode, se artiklen af ​​Gover og Wagstaff (J. Gover, SS Wagstaff).
  2. Yike Guo, 1999 , High Performance Data Mining: Scaling Algorithms, Applications and Systems..
  3. 1 2 Hans Riesel, 1994 , primtal og computermetoder til faktorisering. Birkhauser, anden udgave.
  4. Henri Cohen, 1996 , A Course in Computational Algebraic Number Theory..
  5. D.A. Buell, 1989 , Binary Quadratic Forms.
  6. Samuel S. Wagstaff Jr., 2003 , Cryptanalysis of Number Theoretic Ciphers.
  7. For eksempel i KVADRATFORM FACTORISATION JASON E. GOWER OG SAMUEL S. WAGSTAFF, JR. Antagelse 4.12. på side 20, Antagelse 4.5 på side 16, også ved bevisførelse af algoritmekompleksitetsteoremer mv.
  8. 1 2 3 4 5 KVADRATFORMFAKTORISERING, 2003 , KVADRATFORMFAKTORISERING.
  9. 1 2 Vasilenko, 2003 , Talteoretiske algoritmer i kryptografi.
  10. Ishmukhametov, 2011 , Faktoriseringsmetoder for naturlige tal: Lærebog.
  11. 1 2 Ishmukhametov, 2011 , Faktoriseringsmetoder for naturlige tal: Lærebog s. 79-80.

Litteratur

Se også