De montegomerykromme is een type elliptische kromme dat is geïntroduceerd in 1987 door Peter L. Montgomery.[1] Dit type werd oorspronkelijk ontwikkeld om het factoriseren met behulp van het algoritme van Lenstra en de Pollards p-1-methode te versnellen. Tegenwoordig wordt de montegomerykromme ook voor andere cryptographische doeleinden gebruikt, zoals de elliptische kromme Curve25519.

Definitie bewerken

 
Een Montgomerykromme met de vergelijking  

Een montegomerykromme over een lichaam (Ned) / veld (Be)   wordt gegeven door de vergelijking:

 

waarin   en   vaste constanten in   zijn die voldoen aan

 

In het algemeen worden montgomerykrommen beschouwd over een eindig lichaam/veld met karakteristiek ongelijk aan 2 of over de rationale getallen.

Bijzonderheden van de montgomerykromme zijn:

  • Het punt(0, 0) ligt op iedere kromme en heeft een orde van 2
  • In een eindig lichaam is de orde van de kromme altijd deelbaar door 4

Operaties bewerken

Net als bij elke elliptische krommen is het bij de montegomerykromme mogelijk een aantal operaties hierop uit te voeren, zoals optellen en verdubbelen.[2]

Optellen bewerken

De som van twee punten   op een montegomerykromme kan berekend worden met de formule:

 
 

Verdubbeling bewerken

De verdubbeling van een punt   op een montegomerykromme kan berekend worden met de formule:

 
 

Gelijkwaardigheid met edwardskromme bewerken

De montgomerykromme en de edwardskromme gegeven door:

 

zijn birationaal gelijkwaardig. De ene kromme kan dus in de andere vorm worden omgezet via de relaties:

 
 

Een punt   van de edwardskromme komt overeen met het punt   van de montgomerykromme bepaald door:

 
 

Punten van de montgomerykromme   kunnen worden omgezet naar de edwardskromme   met de formule:

Een punt   van de montgomerykromme komt overeen met het punt   van de edwardskromme bepaald door:

 
 

Projectieve coördinaten bewerken

De montgomerykromme kan ook beschreven worden met de zogeheten montgomerycoördinaten  , projectieve coördinaten met  , waarvoor geldt:

 

en

 

Met behulp van montgomerycoördinaten is het mogelijk de berekening op de x-coördinaat te versnellen. Hiervoor zijn er verschillende snelle algoritmes om berekening als verdubbelen, optellen en vermenigvuldigen in montgomerycoördinaten te doen.[3]

Referenties bewerken