[sage-devel] Re: Sage Enhancement Proposal: Edwards Curves Library

2015-02-24 Thread Adarsh Saraf
Yes, I too had pedagogy in mind. When I was reading about the Edwards model 
I thought it would have been nice if Sage had a library on it.

In addition there are also some algorithms and tools which might be better 
used or only used with Edwards curves. For example, I have also implemented 
Dan Bernstein's Elligator encoding scheme.

Also, as mentioned earlier, I am working on implementing the analogues of 
Velu's formulae for Edwards curves as described by Dustin Moody and Daniel 
Shumow which are more efficient than the original Velu's formulas for the 
Weierstrass model.

I think we can also hope that, when applicable, Edwards curves will give 
more efficient implementations of algorithms already available for the 
Weierstrass model.
Therefore, a library on the Edwards model might significantly expand Sage's 
capabilities. 

Adarsh.

P.S. -- I have only begun learning about Elliptic curves and Sage in the 
past year. I would appreciate if anyone points out any inaccuracies in what 
I say.

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Sage Enhancement Proposal: Edwards Curves Library

2015-02-23 Thread Bill Hart
I'm a bit ignorant about Edwards models. I understood its main usefulness 
was because it was faster than the usual models, requiring less arithmetic 
operations.

Given that this was the primary usefulness, wouldn't it make sense to 
compare your library with some other fast libraries to show that it is 
actually faster. For example, why not use Dan Bernstein's highly optimised 
code.

On the other hand, if there are theoretically interesting problems that can 
be studied only with the Edwards model, then there would be a reason to 
include it no matter what the practical performance is.

Bill.

On Saturday, 21 February 2015 06:13:31 UTC+1, Adarsh Saraf wrote:

 Hi Martin,

 Basically the module that I have written implements the Edwards model as 
 an 'EdwardsCurve' class with an
 accompanying EdwardsCurvePoint class. 
 For the methods that I have implemented, I have tried to mimic those in 
 the Elliptic Curves library already in Sage.
 But I do not have different classes for the different types of base fields 
 for it was not necessary for my work. 
 Once I have added a patch and people feel that it would be better to have 
 these classes, then we can easily do that too. 
 Plus, I am also thinking of adding the documentation mimicking that for 
 Elliptic Curves.

 The main functions that I have implemented as of now are:
 1. Point addition
 2. Scalar multiplication
 3. Additive order of the points
 4. Returning random points on the curve 
 5. Returning the n-torsion subgroup given n
 6. Returning all the points on the curve in the finite field setting
 7. Returning the isomorphic Weierstrass model as an 'EllipticCurve' object

 These are my further plans:
 1. Have a method to obtain an 'EdwardsCurve' given a Weierstrass curve, 
 after the base field extension if necessary
 2. Implement the analogues of Velu's formulae for computing an isogeny 
 given the kernel generators

 Adarsh.




-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Sage Enhancement Proposal: Edwards Curves Library

2015-02-23 Thread Vincent Delecroix
2015-02-23 15:54 UTC+01:00, Bill Hart goodwillh...@googlemail.com:
 On the other hand, if there are theoretically interesting problems
 [...]

Pedagogical purpose can be fine as well. But in that case, the
documentation has to be irreproachable.

Vincent

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Sage Enhancement Proposal: Edwards Curves Library

2015-02-23 Thread John Cremona
I think this would be for pedagogical purposes.  There would be no
point (that I can see) in duplicating all the functionality now
available for Weierstrass models.  Obvioulsy Bernstein's optimised
formulas should be used, otherwise there is really little point.  But
don't artificially restrict to finite fields.

John


On 23 February 2015 at 15:04, Vincent Delecroix
20100.delecr...@gmail.com wrote:
 2015-02-23 15:54 UTC+01:00, Bill Hart goodwillh...@googlemail.com:
 On the other hand, if there are theoretically interesting problems
 [...]

 Pedagogical purpose can be fine as well. But in that case, the
 documentation has to be irreproachable.

 Vincent

 --
 You received this message because you are subscribed to the Google Groups 
 sage-devel group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to sage-devel+unsubscr...@googlegroups.com.
 To post to this group, send email to sage-devel@googlegroups.com.
 Visit this group at http://groups.google.com/group/sage-devel.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Sage Enhancement Proposal: Edwards Curves Library

2015-02-20 Thread Samuel Lelievre
cc:ing sage-nt



2015-02-20 10:04:37 UTC+1, Adarsh Saraf:

 Hello everybody,

 As part of my Masters thesis, I have developed a module related to the 
 Edwards model for Elliptic Curves. I was of the opinion that it would be 
 helpful for many if it can be integrated into Sage. Would like to know if 
 you also feel the same and if I should open a ticket on the trac server?

 Also the functions were written to suit my needs and are therefore not as 
 well written as they ought to be for Sage. I would work on it if it seems 
 useful to add the module to Sage.

 Awaiting your comments,
 Adarsh Saraf


-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Sage Enhancement Proposal: Edwards Curves Library

2015-02-20 Thread Adarsh Saraf
Hi Martin,

Basically the module that I have written implements the Edwards model as an 
'EdwardsCurve' class with an
accompanying EdwardsCurvePoint class. 
For the methods that I have implemented, I have tried to mimic those in the 
Elliptic Curves library already in Sage.
But I do not have different classes for the different types of base fields 
for it was not necessary for my work. 
Once I have added a patch and people feel that it would be better to have 
these classes, then we can easily do that too. 
Plus, I am also thinking of adding the documentation mimicking that for 
Elliptic Curves.

The main functions that I have implemented as of now are:
1. Point addition
2. Scalar multiplication
3. Additive order of the points
4. Returning random points on the curve 
5. Returning the n-torsion subgroup given n
6. Returning all the points on the curve in the finite field setting
7. Returning the isomorphic Weierstrass model as an 'EllipticCurve' object

These are my further plans:
1. Have a method to obtain an 'EdwardsCurve' given a Weierstrass curve, 
after the base field extension if necessary
2. Implement the analogues of Velu's formulae for computing an isogeny 
given the kernel generators

Adarsh.


-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.