# points on elliptic cuver over 2^m field

edit retag close merge delete

Please reformat the own post, so that the code is marked as such. The enter code here shows the button with 101and 010 was pressed, but not "on the code". To get it work one can

• either paste the code simply in the dialog box, then mark it, then press this button with 101and 010 on it,
• or paste the code in the dialog box, then mark it again, then press Control+K.

Questions are very important, the more good questions, covering the more fields, the better situations for new potential "programmers" to immediately catch the way / the idea of implementation. Please try to finish the "code markdown", and the question will be immediately upvoted!

( 2018-01-06 14:57:40 +0200 )edit

Sort by ยป oldest newest most voted

The needed method to get one random point on the constructed elliptic curve is E.random_point().

First of all, in questions and answers, it is better to use a situation that can be reconstructed, if possible. This method E.random_point()is itself unpredictable, but the curve E will be at least fixed.

The following code

F.<a> = GF( 2^113 )
A, B = a+2017, a+2018
E = EllipticCurve( F, [ 1, A, 0, 0, B ] )
E.random_point()


produces (this time):

(a^112 + a^108 + a^105 + a^104 + a^102 + a^98 + a^96 + a^95 + a^94 + a^93 + a^91 + a^90 + a^89 + a^85 + a^83 + a^82 + a^81 + a^76 + a^74 + a^73 + a^69 + a^67 + a^66 + a^65 + a^62 + a^61 + a^60 + a^55 + a^54 + a^52 + a^51 + a^49 + a^48 + a^45 + a^39 + a^37 + a^33 + a^32 + a^31 + a^30 + a^28 + a^24 + a^23 + a^21 + a^19 + a^18 + a^15 + a^13 + a^10 + a^6 + a^5 + a^2 + a + 1 : a^112 + a^107 + a^105 + a^103 + a^101 + a^100 + a^98 + a^97 + a^95 + a^94 + a^93 + a^92 + a^90 + a^89 + a^88 + a^87 + a^86 + a^85 + a^82 + a^81 + a^80 + a^79 + a^74 + a^72 + a^71 + a^70 + a^69 + a^67 + a^66 + a^65 + a^61 + a^56 + a^55 + a^54 + a^52 + a^51 + a^50 + a^48 + a^47 + a^45 + a^44 + a^43 + a^42 + a^40 + a^39 + a^36 + a^35 + a^34 + a^33 + a^32 + a^29 + a^27 + a^25 + a^24 + a^19 + a^17 + a^16 + a^15 + a^13 + a^12 + a^7 + a^5 + a^3 + a : 1)


Note that computing all points (and then taking the first two) is not a good idea, since there are too many, and they must all be (computed and) stored, before the first two are shown. And also, these first two points are not really random, for instance:

sage: EllipticCurve( GF(11), [4,5] ).points()[:2]
[(0 : 1 : 0), (0 : 4 : 1)]


and the first point is $O$.

more