[{"data":1,"prerenderedAt":13},["ShallowReactive",2],{"news-elliptic-curve-cryptography-elliptic-curves-(part-2)":3},{"articles":4},[5],{"documentId":6,"title":7,"slug":8,"createdAt":9,"publishingDate":10,"description":10,"content":11,"quote":10,"postAuthor":10,"thumbnail":10,"relatedProducts":10,"industry":10,"relatedPosts":12,"metaData":10},"q6929m9jir9f72bu13unxr1g","Elliptic Curve Cryptography - Elliptic Curves (Part 2)","elliptic-curve-cryptography-elliptic-curves-(part-2)","2021-07-07T13:59:59.000Z",null,"Without further ado, let’s continue where we left off in our [previous post](https:\u002F\u002Fcyber.ee\u002Fblog\u002F2019\u002F10-28\u002F).\n\nAs we know, all basic Pythagorean triples are given in a form (_k2 – l2, 2kl, k2 \\+ l2)_, where _k > l_ \\> 0, GCD (_k, l_) = 1, and _k_ and _l_ have different parity. Experimenting with small values for _k_ and _l_, we get that the pairs (_k, l_) = (6, 1) and (_k, l_) = (5, 2) give Pythagorean triples (35, 12, 37) and (21, 20, 29), both sharing the same triangle area 210\\. [Theorem 1](https:\u002F\u002Fcyber.ee\u002Fblog\u002F2019\u002F10-28\u002F) gives the two corresponding rational points (1260, 44100) and (525, 11025) on the curve _y2 \\= x3_ – 2102_x_.\n\nThe line with the equation _y_ \\= 45_x_ – 12600 goes through these points. It turns out that this line also intersects our elliptic curve in a third rational point. By replacing y from the equation of the line to the equation of the elliptic curve, we get\n\n![](\u002Fuploads\u002Fecc-equation7.png)\n\nBased on Viéte formulae, we know that the sum of the solutions for the last equation is 2025, so the third solution is\n\n![](\u002Fuploads\u002Fecc-equation8.png)\n\nand the respective _y_\\-coordinate is\n\n![](\u002Fuploads\u002Fecc-equation9.png)\n\nThe point (240, -1800) gives negative values for _a, b_, and _c_ that cannot be the sides of the triangle. But the point (240, 1800), that is symmetrical to the point we just found with respect to the _x_\\-axis, also lies on the same elliptic curve with the equation _y2 \\= x3_ – 2102_x_. Using [Theorem 1](https:\u002F\u002Fcyber.ee\u002Fblog\u002F2019\u002F10-28\u002F), this point gives a new triangle (15\u002F2, 56, 113\u002F2). You can easily check that this is a right angled tirangle with the area of 210, and that it is not congruent with either of the inital triangles.\n\nThe method we just described – a line drawn through two points of an elliptic curve and its third intersection point with the curve reflected with respect to the x-axis – is of fundamental importance in the theory of elliptic curves. This way, we define a binary operation, giving us a third point ![](\u002Fuploads\u002Fecc-equation10.png) from the two given points, _P_ and _Q_, of the curve. This operation is illustrated in figure 1.\n\n![](\u002Fuploads\u002Fecc-figure1.png)\n\nFigure 1: Operation on the points of the elliptic curve, using intersection\n\nWhat if _P_ \\= _Q_? In that case, instead of looking at the intersection, we focus on the tangent at the point _P_, and find the reflection of the second intersection point of the tangent and the curve across the _x_\\-axis (see figure 2)1.\n\n![](\u002Fuploads\u002Fecc-figure2.png)\n\nFigure 2: Operation on the points of the elliptic curve, using a tangent\n\nThe operation ![](\u002Fuploads\u002Fecc-equation11.png) is obviously commutative, but, surprisingly, it is also associative. Proving associativity is technical and complex, which is why we won’t cover it here, but an interested reader can find proof, using methods of elementary mathematics in an article by Friedl2. A proof of associativity relying on deeper background can be found in the classical monograph by Lawrence Washington3.\n\nIs there a neutral element with respect to the operation ![](\u002Fuploads\u002Fecc-equation11.png)? It turns out, that by default, there isn’t, but it can be added. Let’s take a point _P_ on the curve, and think where should a point _O_ be placed, so that _P_![](\u002Fuploads\u002Fecc-equation11.png)_O_ \\= _P_? According to the definition of the operation ![](\u002Fuploads\u002Fecc-equation11.png), the line joining the points _P_ and _O_ should intersect _P_ in a point symmetrical to the _x_\\-axis, i.e. the line should be vertical. Since the vertical intersection of the elliptic curve does not have a third intersection point with the curve besides _P_ and the point symmetrical with it, a new formal infinity point is defined. It acts as if it was placed infinitely far in the vertical direction. Now it is clear that the role of an opposite element to _P_, with respect to the operation ![](\u002Fuploads\u002Fecc-equation11.png), is fulfilled by a point symmetrical to it with respect to the _x_\\-axis. These concepts are illustrated in figure 3.\n\n![](\u002Fuploads\u002Fecc-figure3.png)\n\nFigure 3: The neutral element and opposite elements of the points of the elliptic curve\n\nTo sum up, we can say that the following result holds:\n\n**Theorem 2** The set of points of an elliptic curve is a commutative group with a neutral element in an infinity point with respect to the operation ![](\u002Fuploads\u002Fecc-equation11.png).\n\nThe operation ![](\u002Fuploads\u002Fecc-equation11.png) is called adding of the points of the elliptic curve and often marked as just +.\n\nGood job – you made it to the end! You’ve just been introduced to the history of cryptography, cryptography in groups, and elliptic curves. So, it’s about time you get acquainted with the cryptography of elliptic curves in detail, which will be covered in our next post.  \n\nWritten by Jan Willemson\n\n1 Examining the task of congruent numbers, the intersection with the elliptic curve enabled to form a third triangle, based on the two, already known, triangles with the same rational area. Figure 2 shows that, in order to find a new point\u002Ftriangle, it is actually enough to know only one triangle. You can, for example, take the (3,4,5)-triangle with the area 6, find a corresponding point using [Theorem 1](https:\u002F\u002Fcyber.ee\u002Fblog\u002F2019\u002F10-28\u002F), calculate a tangent drawn from this point to the curve _y2 \\= x_3 – 36_x_, find another intersection point of the tangent and the curve, and calculate side lengths of the new triangle that corresponds to the point found using [Theorem 1.](https:\u002F\u002Fcyber.ee\u002Fblog\u002F2019\u002F10-28\u002F)  \n2 Stefan Friedl. An elementary proof of the group law for elliptic curves. Groups Complexity Cryptology, 9(2):117–123, 2017.  \n3 Lawrence C Washington. Elliptic curves: number theory and cryptography. Chapman and Hall\u002FCRC, 2003\\.   ",[],1788355423631]