Montgomery curve: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Tassedethe
m WPCleaner v1.14 - Repaired 1 link to disambiguation page - (You can help) - Peter Montgomery
 
en>Bender235
No edit summary
 
Line 1: Line 1:
Considering that then the previous Presidents and present Chairman Chuck Buck have continuously improved and expanded the solution range to include things like both American produced and imported products to supply a knife for absolutely everyone. As is prevalent with all of Wusthof's collection, each and every knife from this set is created from a specific blend of high carbon content material German produced stainless steel that runs by way of the entire length of the knife offering exceptional balance and strength. The complete set is produced in Solinge, Germany which is also given the nick name of the Cutlery Capital of The Globe.  This is definitely an fantastic set of knives for  What Is The Best Kitchen Knife Set To Buy people who like cooking. If you loved this information and you would certainly such  Best Cheap Kitchen Knife Set as to get even more details pertaining to [http://www.thebestkitchenknivesreviews.com/best-knife-set-reviews-top-kitchen-sets/ Best Kitchen Knife Set Value] kindly check out our own webpage. Chef's Knife - This knife is a must in any kitchen.<br><br>The Shun Seven Piece Classic set epitomizes the 3 revenue-saving suggestions outlined above. International was the first knife maker to introduce the globe to the joys of razor-sharp Japanese steel. The really feel takes a little finding utilised to but the International five-piece set is priced appropriately. Choosing a single 8" Chef's knife from a single of the recommended names above will allow you to test the waters a bit. I personally got my set of Wusthof a handful of years ago and have loved them.<br><br>Even so the knife handle is triple riveted which is good simply because triple riveted handles tend to be additional stable and give you additional control. They want to go through upkeep rather a bit, and sometimes the handles will fall off, but that only occurs with a incredibly smaller set of them. It is finest to buy knives in set as this would support you save a lot of cash rather than obtaining the knives individually. Mid-range knife sets are priced in between one hundred dollars and 200 dollars.<br><br>The SOG Specialty Knives & Tools VL-03 Vulcan Tanto is a folding knife that is formidable with a potent strength of of San Mai VG10 steel with an appealing satin finish, this premium Japanese steel is specially made for high-top quality blades utilized in cutlery and recognized for its durability and sustaining a hardness of Rc 60 without becoming brittle. Choose the correct position in sharpening your knife.<br><br>Your chef knife should really be honed just after each half-hour of use and should be sharpened professionally at least after or twice per year. Look for a knife set that consists of at least a chef's knife, a paring knife, a serrated knife for cutting breads and a utility knife and knife storage in the form of a knife block or holder. Many knife suppliers present a warranty in case a single of the knives breaks.  You can buy kitchen knives in set or person.<br><br>This all almost everything ten -piece set incorporates the following knives: eight-inch hollow carving 8-inch cook's, five-inch boning, 8-inch serrated bread five-inch brunch, and 3-1/2-inch paring 4-1/two-inch and 3-1/two-inch paring. For an all-about superb knife sharpening practical experience, get the Lansky BladeMedic This portable sharpener is small enough to match in a pocket and solid sufficient to stand the abuse of heavy use outdoors.  This knife was created by Ed Halligan.<br><br>Trench knife : Purpose-produced or improvised knives, intended for close-quarter fighting, particularly in trench warfare Some having a d-shaped integral hand guard. Butterfly knife : A folding pocket knife also known as a "balisong" or "batangas" with two counter-rotating handles exactly where the blade is concealed within grooves in the handles. Cleaver : A huge knife that varies in its shape but generally resembles a rectangular-bladed hatchetYou can make six to eight strokes just about every time you hone the knife.<br><br>When browsing for knives at the shop, ask if the knife desires to be sharpened regularly: Some knives in no way require sharpening. The Chicago cutlery chef knife belongs to one such brandThis Business started off as knife conditioning service but has grown to consist of skilled knives for the property kitchen to its product repertoire. The Chicago cutlery chef knife is 1 of the most well-liked high top quality knives aroundA lot of of our knife sets are out there without a block.
{{Cleanup|date=February 2010}}
 
The '''tripling-oriented Doche–Icart–Kohel curve''' is a form of an [[elliptic curve]] that has been used lately in [[cryptography]]; it is a particular type of [[elliptic curve|Weierstrass curve]]. At certain conditions some [[operation (mathematics)|operations]], as adding, doubling or tripling points, are faster to compute using this form.
The Tripling oriented Doche–Icart–Kohel curve, often called with the abbreviation '''3DIK''' has been introduced by Christophe Doche, Thomas Icart, and David R. Kohel in <ref>Christophe Doche, Thomas Icart, and David R. Kohel, ''Efficient Scalar Multiplication by Isogeny Decompositions''</ref>
 
==Definition==
[[Image:Tripling oriented.svg|300px|right|thumb|A tripling-oriented Doche–Icart–Kohel curve of equation <math>y^2=x^3 - 3x^2 - 6x - 3</math>]]
Let <math>K</math> be a [[field (mathematics)|field]] of [[characteristic (algebra)|characteristic]] different form 2 and 3.
 
An elliptic curve in '''tripling oriented Doche–Icart–Kohel form''' is defined by the [[equation]]:
 
: <math>T_a\  :\  y^2 = x^3 + 3a(x+1)^2 </math>
 
with <math>a\in K</math>.
 
A general [[point (geometry)|point]] ''P'' on <math>T_{a}</math> has [[affine space|affine coordinates]] <math>(x,y)</math>. The "point at infinity" represents the [[identity element|neutral element]] for the group law and it is written in [[projective space|projective coordinates]] as O&nbsp;=&nbsp;(0:1:0). The negation of a point ''P''&nbsp;=&nbsp;(''x'',&nbsp;''y'') with respect to this neutral element is &minus;''P''&nbsp;=&nbsp;(''x'',&nbsp;&minus;''y'').
 
==The group law==
 
Consider an elliptic curve in the Tripling-oriented Doche-Icart-Kohel form in [[affine space|affine coordinates]]:
 
: <math>T_a\  :\  y^2= x^3 + 3a(x+1)^2</math>
 
with <math>a\neq 0, \frac{9}{4}</math>.
 
As in other forms of elliptic curves, it is possible to define some "operations" between points, such as adding points, or doubling (See also [[elliptic curve#The group law|The group law]]).
In the following sections formulas to add, negate and doubling points are given.
The addition and doubling formulas are often used for other operations: given a point ''P'' on an elliptic curve it is possible to compute ''[n]P'', where ''n'' is an [[integer]], using addition and doubling; computing multiples of points is important in [[elliptic curve cryptography]] and in [[Lenstra elliptic curve factorization]].
 
===Addition===
 
Given <math>P_1=(x_1,y_1)</math> and <math>P_2=(x_2,y_2)</math> on <math>T_{a}</math>, the point <math>P_3=(x_3,y_3)=P_1+P_2</math> has coordinates:
 
: <math>
x_3 = \frac{(-{x_1}^3+(x_2-3a){x_1}^2+({x_2}^2+6ax_2)x_1+({y_1}^2-2{y_2}{y_1}+(-{x_2}^3-3a{x_2}^2+{y_2}^2)))}{({x_1}^2-2{x_2}{x_1}+{x_2}^2)}
</math>
 
: <math>
y_3 = \frac{((-y_1+2y_2){x_1}^3+(-3ay_1+(-3y_2x_2+3ay_2)){x_1}^2+((3{x_2}^2+6ax_2)y_1-6ay_2x_2)x_1+({y_1}^3-3y_2{y_1}^2+(-2{x_2}^3-3a{x_2}^2+3{y_2}^2)y_1+(y_2{x_2}^3+3ay_2{x_2}^2-{y_2}^3)))}{(-{x_1}^3+3{x_2}{x_1}^2-3{x_2}^2x_1+{x_2}^3)}
</math>
 
===Doubling===
 
Given a point <math>P_1=(x_1,y_1)</math> on <math>T_{a}</math>, the point <math>P_3=(x_3,y_3)=2P_1</math> has coordinates:
 
: <math>
x_3 = \frac{9}{4{y_1}^2{x_1}^4}+\frac{9}{{y_1}^2a{x_1}^3}+(\frac{9}{{y_1}^2a^2}+\frac{9}{{y_1}^2a}){x_1}^2+(\frac{18}{{y_1}^2a^2}-2)x_1+\frac{9}{{y_1}^2a^2-3a}
</math>
 
: <math>
y_3 = -\frac{27}{8{y_1}^3{x_1}^6}-\frac{81}{4{y_1}^3a{x_1}^5}+(-\frac{81}{2{y_1}^3a^2}-\frac{81}{4{y_1}^3a}){x_1}^4+(-\frac{27}{{y_1}^3a^3}-\frac{81}{{y_1}^3a^2}+\frac{9}{2y_1}){x_1}^3+(-\frac{81}{{y_1}^3a^3}-\frac{81}{2{y_1}^3}a^2+\frac{27}{2y_1a}){x_1}2+(-\frac{81}{{y_1}^3a^3}+\frac{9}{y_1a^2}+\frac{9}{y_1a})x_1+(-\frac{27}{{y_1}^3a^3}+\frac{9}{y_1a^2}-y_1)
</math>
 
===Negation===
 
Given a point <math>P_1=(x_1,y_1)</math> on <math>T_{a}</math>, its [[additive inverse|negation]] with respect to the neutral element <math>(0:1:0)</math> is <math>-P_1=(x_1,-y_1)</math>.
 
There are also other formulas given in <ref>Christophe Doche, Thomas Icart, and David R. Kohel, ''Efficient Scalar Multiplication by Isogeny Decompositions'', pag 198-199</ref> for Tripling-oriented Doche–Icart–Kohel curves for fast tripling operation and mixed-addition.
 
==New Jacobian coordinates==
 
For computing on these curves points are usually represented in '''new Jacobian coordinates''' ('''J<sup>n</sup>'''):
 
a point in the new Jacobian coordinates is of the form <math>P=(X : Y : Z : Z^2)</math>; moreover:
 
: <math>P= (X:Y:Z:Z^{2}) = (\lambda^{2}X:\lambda^{3}Y:\lambda Z:\lambda^{2}Z^{2}),</math>
 
for any <math>\lambda \in K</math>.
 
This means, for example, that the point <math>P=(X:Y:Z:Z^2)</math> and the point <math>Q=(4X:8Y:2Z:4Z^2)</math> (for <math>\lambda=2</math>) are actually the same.
 
So, an [[affine space|affine point]] <math>P=(x,y)</math> on <math>T_{a}</math> is written in the new Jacobian coordinates as <math>P=(X : Y : Z : Z^2)</math>, where <math>x = X/Z^2</math> and <math>y = Y/Z^3</math>; in this way, the equation for <math>T_{a}</math> becomes:
 
: <math>T_a\  :\  Y^2 = X^3 + 3aZ^2(X+Z^2)^2.</math>
 
The term <math>Z^2</math> of a point on the curve makes the mixed [[Elliptic curve#The group law|addition]] (that is the addition between two points in different [[coordinate system|systems of coordinates]]) more efficient.
 
The [[identity element|neutral element]] in new Jacobian coordinates is <math>(1:1:0:0)</math>.
 
==Algorithms and examples==
 
===Addition===
 
The following algorithm represents the sum of two points <math>P_1</math> and <math>P_2</math> on an elliptic curve in the Tripling-oriented Doche-Icart-Kohel form. The result is a point <math>P_3=(X_3,Y_3,Z_3,ZZ_3)</math>.
It is assumed that <math>Z_2=1</math> and that <math>a_3=3a</math>.
The cost of this implementation is 7M + 4S + 1*a3 + 10add + 3*2 + 1*4, where M indicates the multiplications, S the squarings, a3 indicates the multiplication by the constant a<sub>3</sub>, add represents the number of additions required.
 
<math>A = X_2ZZ_1</math>
 
<math>B = Y_2ZZ_1Z_1</math>
     
<math>C = X_1-A</math>
     
<math>D = 2(Y_1-B)</math>
     
<math>F = C^2</math>
     
<math>F_4 = 4F</math>
     
<math>Z_3 = (Z_1+C)^2-ZZ_1-F</math>
     
<math>E = {Z_3}^2</math>
     
<math>G = CF_4</math>
     
<math>H = AF_4</math>
 
<math>X_3 = D^2-G-2H-a_3E</math>
     
<math>Y_3 = D(H-X_3)-2BG</math>
 
<math>ZZ_3 = E</math>
 
====Example====
 
Let <math>P_1=(1,\sqrt{13})</math> and <math>P_2=(0,\sqrt{3})</math> affine points on the elliptic curve over <math>\mathbb{R}</math>:
 
<math>y^2 = x^3 +3(x+1)^2</math>.
 
Then:
 
<math>A = X_2ZZ_1 = 0</math>
 
<math>B = Y_2ZZ_1Z_1 = \sqrt{3}</math>
     
<math>C = X_1-A = 1</math>
     
<math>D = 2(Y_1-B) = 2(\sqrt{13}-\sqrt{3})</math>
     
<math>F = C^2 = 1</math>
     
<math>F_4 = 4F = 4</math>
     
<math>Z_3 = (Z_1+C)^2-ZZ_1-F = 2</math>
     
<math>E = {Z_3}^2 = 4</math>
     
<math>G = CF_4 = 4</math>
     
<math>H = AF_4 = 0</math>
 
<math>X_3 = D^2-G-2H-a_3E = 48-8\sqrt{39}</math>
     
<math>Y_3 = D(H-X_3)-2BG = 296\sqrt{3}-144\sqrt{13}</math>
 
<math>ZZ_3 = E = 4</math>
 
Notice that in this case <math>Z_1=Z_2=1</math>.
The resulting point is <math>P_3 = (X_3,Y_3,Z_3,ZZ_3) = (48-8\sqrt{39},296\sqrt{3}-144\sqrt{13},2,4)</math>, that in affine coordinates is <math>P_3=(12-2\sqrt{39},37\sqrt{3}-18\sqrt{13})</math>.
 
===Doubling===
 
The following algorithm represents the doubling of a point <math>P_1</math> on an elliptic curve in the Tripling-oriented Doche-Icart-Kohel form.
It is assumed that <math>a_3=3a</math>, <math>a_2=2a</math>.
The cost of this implementation is 2M + 7S + 1*a2 + 1*a3 + 12add + 2*2 + 1*3 + 1*8; here M represents the multiplications, S the squarings, a2 and a3 indicates the multiplications by the constants a<sub>2</sub> and a<sub>3</sub> respectively, and add indicates the additions.
 
<math>A = {X_1}^2</math>
 
<math>B = a_2ZZ_1(X_1+ZZ_1)</math>
 
<math>C = 3(A+B)</math>
 
<math>D = {Y_1}^2</math>
 
<math>E = D^2</math>
 
<math>Z_3 = (Y_1+Z_1)^2-D-ZZ_1</math>
 
<math>ZZ_3 = Z_3^2</math>
 
<math>F = 2((X_1+D)^2-A-E)</math>
     
<math>X_3 = C^2-a_3ZZ_3-2F</math>
     
<math>Y_3 = C(F-X_3)-8E</math>
 
====Example====
 
Let <math>P_1=(0,\sqrt{3})</math> be a point on <math>y^2 = x^3 + 3(x+1)^2</math>.
 
Then:
 
<math>A = {X_1}^2 = 0</math>
 
<math>B = a_2ZZ_1(X_1+ZZ_1) = 2</math>
 
<math>C = 3(A+B) = 6</math>
 
<math>D = {Y_1}^2 = 3</math>
 
<math>E = D^2 = 9</math>
 
<math>Z_3 = (Y_1+Z_1)^2-D-ZZ_1 = 2\sqrt{3}</math>
 
<math>ZZ_3 = Z_3^2 = 12</math>
 
<math>F = 2((X_1+D)^2-A-E) = 0</math>
     
<math>X_3 = C^2-a_3ZZ_3-2F = 0</math>
     
<math>Y_3 = C(F-X_3)-8E = -72</math>
 
Notice that here the point is in affine coordinates, so <math>Z_1=1</math>.
The resulting point is <math>P_3=(0,-72,2\sqrt{3},12)</math>, that in affine coordinates is <math>P_3 = (0,-\sqrt{3})</math>.
 
==Equivalence with Weierstrass form==
 
Any elliptic curve is [[birational geometry|birationally equivalent]] to another written in the Weierstrass form.
 
The following '''[[twisted curves|twisted]] tripling-oriented Doche-Icart-Kohel curve''':
 
<math>T_{a,\lambda}</math>: <math>y^2 = x^3 + 3\lambda a(x+\lambda)^2</math>
 
can be transformed into the Weierstrass form by the [[map (mathematics)|map]]:
 
<math>
(x,y)\mapsto (x-\lambda a, y)
</math>.
 
In this way <math>T_{a,\lambda}</math> becomes:
 
<math>y^2 = x^3 - 3{\lambda}^2a(a-2)x + {\lambda}^3a(2a^2-6a+3)</math>.
 
Conversely, given an elliptic curve in the Weierstrass form:
 
<math>E_{c,d}</math>:  <math>y^2 = x^3 +cx^2 +d</math>,
 
it is possible to find the "corresponding" Tripling-oriented Doche–Icart–Kohel curve, using the following relation:
 
<math>
\lambda = \frac{-3d(a-2)}{a(2a^2-6a+3)}
</math>
 
where <math>a</math> is a [[equation solving|root]] of the polynomial <math>6912a(a-2)^3-j(4a-9)</math>.
 
Here <math>j=\frac{6912c^3}{4c^3+27d^2}</math> is the [[j-invariant]] of the elliptic curve <math>E_{c,d}</math>.
 
Notice that in this case the map given is not only a birational equivalence, but an [[isomorphism]] between curves.
 
==Internal link==
 
For more informations about the running-time required in a specific case, see [[Table of costs of operations in elliptic curves]]
 
==External links==
* http://hyperelliptic.org/EFD/g1p/index.html
 
==Notes==
 
{{reflist}}
 
==References==
 
* {{cite book
  | author = Christophe Doche, Thomas Icart, and David R. Kohel
| year = 2006
| series = appeared at [[PKC (conference)|PKC]] 2006, part of LNCS (Lecture Series in Computer Science) volume number 3958
| title = Efficient Scalar Multiplication by Isogeny Decompositions
| publisher = Springer Verlag
| pages = 285–352
| url = http://web.science.mq.edu.au/~doche/isogeny.pdf
}}
* {{cite book
| author = [[Daniel J. Bernstein]], Tanja Lange
| year = 2007
| series = appeared in G.L. Mullen, D. Panario, I.E. Shparlinski (Eds.), Finite Fields and Applications (Proceedings 8th International Conference, Fq8, Melbourne, Australia, July 9–13, 2007)
  | title = Analysis and optimization of elliptic-curve single-scalar multiplication
| publisher = Mathematics Subject Classification
| url = http://www.hyperelliptic.org/EFD/precomp.pdf
}}
* {{cite book
| author = [[Daniel J. Bernstein|D.J.Bernstein]], P.Birkner, T.Lange, and C.Peters
| year = 2007
| series = apperared in K. Srinathan, C. Pandu Rangan, M. Yung (Eds.), Proceedings of the 8th International Conference on Cryptology in India: Progress in Cryptology (INDOCRYPT 2007) 9–13 December 2007, Chennai, India
| title = Optimizing Double-Base Elliptic-Curve Single-Scalar Multiplication
| publisher = Springer
| url = http://cr.yp.to/antiforgery/doublebase-20071028.pdf
  }}
*http://hyperelliptic.org/EFD/g1p/auto-3dik-standard.html
 
{{DEFAULTSORT:Tripling-oriented Doche-Icart-Kohel curve}}
[[Category:Elliptic curves]]
[[Category:Elliptic curve cryptography]]

Latest revision as of 11:12, 29 December 2013

Template:Cleanup

The tripling-oriented Doche–Icart–Kohel curve is a form of an elliptic curve that has been used lately in cryptography; it is a particular type of Weierstrass curve. At certain conditions some operations, as adding, doubling or tripling points, are faster to compute using this form. The Tripling oriented Doche–Icart–Kohel curve, often called with the abbreviation 3DIK has been introduced by Christophe Doche, Thomas Icart, and David R. Kohel in [1]

Definition

A tripling-oriented Doche–Icart–Kohel curve of equation y2=x33x26x3

Let K be a field of characteristic different form 2 and 3.

An elliptic curve in tripling oriented Doche–Icart–Kohel form is defined by the equation:

Ta:y2=x3+3a(x+1)2

with aK.

A general point P on Ta has affine coordinates (x,y). The "point at infinity" represents the neutral element for the group law and it is written in projective coordinates as O = (0:1:0). The negation of a point P = (xy) with respect to this neutral element is −P = (x, −y).

The group law

Consider an elliptic curve in the Tripling-oriented Doche-Icart-Kohel form in affine coordinates:

Ta:y2=x3+3a(x+1)2

with a0,94.

As in other forms of elliptic curves, it is possible to define some "operations" between points, such as adding points, or doubling (See also The group law). In the following sections formulas to add, negate and doubling points are given. The addition and doubling formulas are often used for other operations: given a point P on an elliptic curve it is possible to compute [n]P, where n is an integer, using addition and doubling; computing multiples of points is important in elliptic curve cryptography and in Lenstra elliptic curve factorization.

Addition

Given P1=(x1,y1) and P2=(x2,y2) on Ta, the point P3=(x3,y3)=P1+P2 has coordinates:

x3=(x13+(x23a)x12+(x22+6ax2)x1+(y122y2y1+(x233ax22+y22)))(x122x2x1+x22)
y3=((y1+2y2)x13+(3ay1+(3y2x2+3ay2))x12+((3x22+6ax2)y16ay2x2)x1+(y133y2y12+(2x233ax22+3y22)y1+(y2x23+3ay2x22y23)))(x13+3x2x123x22x1+x23)

Doubling

Given a point P1=(x1,y1) on Ta, the point P3=(x3,y3)=2P1 has coordinates:

x3=94y12x14+9y12ax13+(9y12a2+9y12a)x12+(18y12a22)x1+9y12a23a
y3=278y13x16814y13ax15+(812y13a2814y13a)x14+(27y13a381y13a2+92y1)x13+(81y13a3812y13a2+272y1a)x12+(81y13a3+9y1a2+9y1a)x1+(27y13a3+9y1a2y1)

Negation

Given a point P1=(x1,y1) on Ta, its negation with respect to the neutral element (0:1:0) is P1=(x1,y1).

There are also other formulas given in [2] for Tripling-oriented Doche–Icart–Kohel curves for fast tripling operation and mixed-addition.

New Jacobian coordinates

For computing on these curves points are usually represented in new Jacobian coordinates (Jn):

a point in the new Jacobian coordinates is of the form P=(X:Y:Z:Z2); moreover:

P=(X:Y:Z:Z2)=(λ2X:λ3Y:λZ:λ2Z2),

for any λK.

This means, for example, that the point P=(X:Y:Z:Z2) and the point Q=(4X:8Y:2Z:4Z2) (for λ=2) are actually the same.

So, an affine point P=(x,y) on Ta is written in the new Jacobian coordinates as P=(X:Y:Z:Z2), where x=X/Z2 and y=Y/Z3; in this way, the equation for Ta becomes:

Ta:Y2=X3+3aZ2(X+Z2)2.

The term Z2 of a point on the curve makes the mixed addition (that is the addition between two points in different systems of coordinates) more efficient.

The neutral element in new Jacobian coordinates is (1:1:0:0).

Algorithms and examples

Addition

The following algorithm represents the sum of two points P1 and P2 on an elliptic curve in the Tripling-oriented Doche-Icart-Kohel form. The result is a point P3=(X3,Y3,Z3,ZZ3). It is assumed that Z2=1 and that a3=3a. The cost of this implementation is 7M + 4S + 1*a3 + 10add + 3*2 + 1*4, where M indicates the multiplications, S the squarings, a3 indicates the multiplication by the constant a3, add represents the number of additions required.

A=X2ZZ1

B=Y2ZZ1Z1

C=X1A

D=2(Y1B)

F=C2

F4=4F

Z3=(Z1+C)2ZZ1F

E=Z32

G=CF4

H=AF4

X3=D2G2Ha3E

Y3=D(HX3)2BG

ZZ3=E

Example

Let P1=(1,13) and P2=(0,3) affine points on the elliptic curve over :

y2=x3+3(x+1)2.

Then:

A=X2ZZ1=0

B=Y2ZZ1Z1=3

C=X1A=1

D=2(Y1B)=2(133)

F=C2=1

F4=4F=4

Z3=(Z1+C)2ZZ1F=2

E=Z32=4

G=CF4=4

H=AF4=0

X3=D2G2Ha3E=48839

Y3=D(HX3)2BG=296314413

ZZ3=E=4

Notice that in this case Z1=Z2=1. The resulting point is P3=(X3,Y3,Z3,ZZ3)=(48839,296314413,2,4), that in affine coordinates is P3=(12239,3731813).

Doubling

The following algorithm represents the doubling of a point P1 on an elliptic curve in the Tripling-oriented Doche-Icart-Kohel form. It is assumed that a3=3a, a2=2a. The cost of this implementation is 2M + 7S + 1*a2 + 1*a3 + 12add + 2*2 + 1*3 + 1*8; here M represents the multiplications, S the squarings, a2 and a3 indicates the multiplications by the constants a2 and a3 respectively, and add indicates the additions.

A=X12

B=a2ZZ1(X1+ZZ1)

C=3(A+B)

D=Y12

E=D2

Z3=(Y1+Z1)2DZZ1

ZZ3=Z32

F=2((X1+D)2AE)

X3=C2a3ZZ32F

Y3=C(FX3)8E

Example

Let P1=(0,3) be a point on y2=x3+3(x+1)2.

Then:

A=X12=0

B=a2ZZ1(X1+ZZ1)=2

C=3(A+B)=6

D=Y12=3

E=D2=9

Z3=(Y1+Z1)2DZZ1=23

ZZ3=Z32=12

F=2((X1+D)2AE)=0

X3=C2a3ZZ32F=0

Y3=C(FX3)8E=72

Notice that here the point is in affine coordinates, so Z1=1. The resulting point is P3=(0,72,23,12), that in affine coordinates is P3=(0,3).

Equivalence with Weierstrass form

Any elliptic curve is birationally equivalent to another written in the Weierstrass form.

The following twisted tripling-oriented Doche-Icart-Kohel curve:

Ta,λ: y2=x3+3λa(x+λ)2

can be transformed into the Weierstrass form by the map:

(x,y)(xλa,y).

In this way Ta,λ becomes:

y2=x33λ2a(a2)x+λ3a(2a26a+3).

Conversely, given an elliptic curve in the Weierstrass form:

Ec,d: y2=x3+cx2+d,

it is possible to find the "corresponding" Tripling-oriented Doche–Icart–Kohel curve, using the following relation:

λ=3d(a2)a(2a26a+3)

where a is a root of the polynomial 6912a(a2)3j(4a9).

Here j=6912c34c3+27d2 is the j-invariant of the elliptic curve Ec,d.

Notice that in this case the map given is not only a birational equivalence, but an isomorphism between curves.

Internal link

For more informations about the running-time required in a specific case, see Table of costs of operations in elliptic curves

External links

Notes

43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.

References

  1. Christophe Doche, Thomas Icart, and David R. Kohel, Efficient Scalar Multiplication by Isogeny Decompositions
  2. Christophe Doche, Thomas Icart, and David R. Kohel, Efficient Scalar Multiplication by Isogeny Decompositions, pag 198-199