Inhoud
Het berekenen van primitieve wortels is een nuttige vaardigheid in cryptografie en getaltheorie. Een getal "g" is een primitieve wortel voor een gegeven priemgetal "p" als g mod p de orde modulus p-1 heeft. Dit betekent dat de lijst met "g1 mod p", "g2 mod p" tot "g (p-1) mod p" alle gehele getallen van 1 tot (p-1) bevat. Er is geen algoritme bekend om primitieve wortels efficiënt te berekenen. De eenvoudigste methode is om elk mogelijk getal van 2 tot (p-1) te proberen.
routebeschrijving
Een veelgebruikt gebruik van modulaire rekenkunde is de aanwijsklok, die de rekenkundige modulus 12 gebruikt (Hemera Technologies / PhotoObjects.net / Getty Images)-
Kies een priemgetal, "p", zoals vijf. Een priemgetal heeft geen delers voorbij zichzelf en één. Vier is bijvoorbeeld geen priemgetal omdat "4/2 = 2", het heeft er 2 als een van zijn delers.
-
Bereken "2 ^ n mod p" voor elk geheel getal "n" van 1 tot (p-1). Gebruikend het voorbeeld, is "p" 5, bereken dan "2 ^ nmod 5" voor "n" van 1 tot 4. Dit produceert de lijst:
2 ^ 1 = 2 mod 5 = 2 2 ^ 2 = 4 mod 5 = 4 2 ^ 3 = 8 mod 5 = 3 2 ^ 4 = 16 mod 5 = 1
-
Zorg ervoor dat de lijst met nummers alle mogelijke sporen van vijf bevat. Lijst 2, 4, 3 en 1 komen in aanmerking, dus 2 is een primitieve wortel met rest 5. Als, in plaats daarvan, de lijst 2,1,4 en 1 was, wat de lijst is voor 4, dan zou 4 niet zijn een primitieve root omdat nummer 3 ontbreekt in de lijst.
-
Herhaal de vorige stap voor alle gehele getallen minder dan vijf. Nummer drie is ook een primitieve wortel van rust vijf, maar vier is dat niet; dan zijn twee en vijf de primitieve wortels voor vijf.