User Tools

Site Tools


elliptic_curves

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
elliptic_curves [2025/06/17 15:05] – [Operations] transatoshielliptic_curves [2025/06/17 15:08] (current) – [Operations] transatoshi
Line 8: Line 8:
 These are the relevant mathematical operations we can do on Elliptic-curve points. These are the relevant mathematical operations we can do on Elliptic-curve points.
  
-Addition +=== Addition ===
 Given two points, we can add them to one another (or subtract) and the result would be a new point on the curve. Given two points, we can add them to one another (or subtract) and the result would be a new point on the curve.
 Multiplication - Given a point, we can multiply it any number of times. Multiplication - Given a point, we can multiply it any number of times.
Line 24: Line 24:
 If we draw a line passing through P and Q, this line will cross a third point on the curve, R (so that P, Q and R are aligned). If we take the inverse of this point, which is simply the one symmetric to it about the x-axis, we have found the result of adding two curve points, P + Q. Let’s illustrate: If we draw a line passing through P and Q, this line will cross a third point on the curve, R (so that P, Q and R are aligned). If we take the inverse of this point, which is simply the one symmetric to it about the x-axis, we have found the result of adding two curve points, P + Q. Let’s illustrate:
  
-![ecc1](../../../assets/images/ecc1.png){ width=200 } 
 In other words, addition of points is basically hopping around on the curve to a different, seemingly random point; It looks random unless you know the exact operation performed to reach it. In other words, addition of points is basically hopping around on the curve to a different, seemingly random point; It looks random unless you know the exact operation performed to reach it.
  
Line 32: Line 31:
 ''P + P = -R'' ''P + P = -R''
  
-![ecc2](../../../assets/images/ecc2.png){ width=200 } 
 To calculate 8*P for e.g. wouldn’t take 8 operations, but only 3; you can find 2*P, then add it onto itself, and then add 4*P onto itself, for the final result of 8*P. To calculate 8*P for e.g. wouldn’t take 8 operations, but only 3; you can find 2*P, then add it onto itself, and then add 4*P onto itself, for the final result of 8*P.
  
-Key Pairs+==== Key Pairs ====
 An ECC system defines a publicly known constant curve point called the generator point, G. The generator point is used to compute any public key. A key pair consists of: An ECC system defines a publicly known constant curve point called the generator point, G. The generator point is used to compute any public key. A key pair consists of:
  
Line 48: Line 46:
 But, if everybody knows points P and G, can they find out what k is? The answer is no; The difficulty of getting from one point to another is precisely the definition of the Elliptic curve discrete logarithm problem. But, if everybody knows points P and G, can they find out what k is? The answer is no; The difficulty of getting from one point to another is precisely the definition of the Elliptic curve discrete logarithm problem.
  
-Secp256k1+=== Secp256k1 ===
  
 The specific Elliptic curve that Grin employs is rust-secp256k1 (y2 = x3 + 7) using Schnorr signature scheme. The specific Elliptic curve that Grin employs is rust-secp256k1 (y2 = x3 + 7) using Schnorr signature scheme.
-==== Key Pairs ==== 
-An ECC system defines a publicly known constant curve point called the generator point, G. The generator point is used to compute any public key. A key pair consists of: 
  
-Private key k – A randomly chosen 256-bit integer (scalar). 
-Public key P – An Elliptic-curve point derived by multiplying generator point G by the private key. 
-And more clearly, a public key (of private key k) is as follows: 
- 
-P = k*G 
-This is easy to compute. 
- 
-But, if everybody knows points P and G, can they find out what k is? The answer is no; The difficulty of getting from one point to another is precisely the definition of the Elliptic curve discrete logarithm problem. 
- 
-Secp256k1 
- 
-The specific Elliptic curve that Grin employs is rust-secp256k1 (y2 = x3 + 7) using Schnorr signature scheme. 
elliptic_curves.1750172743.txt.gz · Last modified: by transatoshi