Pollards p-1-methode
Pollards p-1-methode is een methode voor het ontbinden in priemfactoren. In 1974 publiceerde John Pollard zijn algoritme voor redelijk grote getallen, deze getallen moeten p-1 glad zijn. Wanneer een getal aan deze voorwaarde voldoet, kan met Pollards p-1-methode een priemfactor van dit getal worden gevonden. Het gaat natuurlijk niet wanner het getal een priemgetal is.
Inhoud |
B-glad[bewerken]
Een getal heet B-glad (B-smooth) indien elke priemfactor van dat getal kleiner is dan B.
Een voorbeeld:
.
1620 is dus 5-glad, omdat geen van zijn priemfactoren groter is dan 5.
Basisgedachten bij Pollards algoritme[bewerken]
Er liggen twee basisgedachten onder Pollards p-1-methode:
- Als je werkt in de multiplicatieve groep (modulo n), dan werkt dit ook in de multiplicatieve groep (modulo (deler van n)). Dit geldt voor alle delers van n.
- Er geldt dat

Dus als
en als
, dan geldt dat
.
Hieruit volgt dat wanneer
deelbaar is door p en ook n deelbaar is door p dat ook dat de grootste gemene deler
deelbaar is door p.
Het algoritme van Pollard[bewerken]
Het algoritme van Pollard om een zeker getal n te factoriseren werkt als volgt:
- Kies een zeker getal B, niet te groot en niet te klein. Dit getal wordt ingezet als B-smooth getal.
- Vind het kleinste gemene veelvoud (de kgv) van al de getallen ≤ B
- Kies een willeleurig getal

- Bepaal

- Bepaal de ggd d van

- Als
, dan is d een deler van n - Ontbind n in factoren.
Als het algoritme niet meteen een priemfactor vindt, is het mogelijk te variëren met de gekozen B of a
Voorbeeld[bewerken]
Hoe kunnen we het getal 540143 ontbinden in priemfactoren met behulp van het algoritme van Pollard?
- Kies B = 8
- k = kgv(2, 3 , 4 , 5 , 6 , 7 , 8 ) = 840
- Kies a = 2
zie hieronder uitwerking 1- d = ggd (53046 , 540143) = 421 zie hieronder uitwerking 2
, dan is dus 
- 540143 = 421 x 1283
Uitwerking 1[bewerken]
Bepaal 
Uitwerking 2[bewerken]
Bepaal de ggd van 540143 en 53046 met het algoritme van Euclides
- 540143 = 10 × 53046 + 9683
- 53046 = 5 × 9683 + 4631
- 9683 = 2 × 4631 + 421
- 4631 = 11 × 421
Dus ggd( 540143 , 53046 ) = 421
.
.


, dan is d een deler van n
zie hieronder uitwerking 1
, dan is dus 







