Montgomerykromme

Uit testwiki
Naar navigatie springen Naar zoeken springen

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

Een Montgomerykromme met de vergelijking 14y2=x3+2,5x2+x

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

By2=x3+Ax2+x

waarin A en B vaste constanten in K zijn die voldoen aan

B(A24)0

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

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

De som van twee punten (x3,y2)=(x1,y1)+(x2,y2) op een montegomerykromme kan berekend worden met de formule:

x3=B(y2y1)2(x2x1)2Ax1x2
y3=(2x1+x2+A)y2y1x2x1B(y2y1)3(x2x1)3y1

Verdubbeling

De verdubbeling van een punt (x2,y2)=2(x1,y1) op een montegomerykromme kan berekend worden met de formule:

x2=B(3x12+2Ax1+1)2(2By1)2Ax1x1
y2=(3x1+A)3x12+2Ax1+12By1B(3x12+2Ax1+1)3(2By1)3y1

Gelijkwaardigheid met edwardskromme

De montgomerykromme en de edwardskromme gegeven door:

au2+v2=1+du2v2

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

A=2(a+d)ad
B=4ad

Een punt (u,v) van de edwardskromme komt overeen met het punt (x,y) van de montgomerykromme bepaald door:

x=1+v1v
y=1+vu(1v)=xu

Punten van de montgomerykromme (x,y) kunnen worden omgezet naar de edwardskromme (u,v) met de formule:

Een punt (x,y) van de montgomerykromme komt overeen met het punt (u,v) van de edwardskromme bepaald door:

u=xy
v=x1x+1

Projectieve coördinaten

De montgomerykromme kan ook beschreven worden met de zogeheten montgomerycoördinaten (X:Z), projectieve coördinaten met Z0, waarvoor geldt:

x=X/Z

en

By2=x3+Ax2+x

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

Sjabloon:References