diff --git a/public/404.html b/public/404.html index a3e6a0f..7dc90aa 100644 --- a/public/404.html +++ b/public/404.html @@ -1,4 +1,4 @@ - Monero Documentation
\ No newline at end of file diff --git a/public/cryptography/asymmetric/edwards25519/index.html b/public/cryptography/asymmetric/edwards25519/index.html index 99b8664..61c38d1 100644 --- a/public/cryptography/asymmetric/edwards25519/index.html +++ b/public/cryptography/asymmetric/edwards25519/index.html @@ -1,4 +1,4 @@ - Edwards25519 Elliptic Curve - Monero Documentation
Skip to content

Edwards25519 Elliptic Curve

Note

Author is nowhere close to being a cryptographer. Be sceptical on accuracy.

Note

This article is only about the underlying curve. Public key derivation and signing algorithm will be treated separately.

Monero employs edwards25519 elliptic curve as a basis for its key pair generation.

The curve comes from the Ed25519 signature scheme. While Monero takes the curve unchanged, it does not exactly follow rest of the Ed25519.

The edwards25519 curve is birationally equivalent to Curve25519.

Definition

This is the standard edwards25519 curve definition, no Monero specific stuff here, except the naming convention. The convention comes from the CryptoNote whitepaper and is widely used in Monero literature.

Curve equation

−x^2 + y^2 = 1 − (121665/121666) * x^2 * y^2
+ Edwards25519 Elliptic Curve - Monero Documentation      

Edwards25519 Elliptic Curve

Note

Author is nowhere close to being a cryptographer. Be sceptical on accuracy.

Note

This article is only about the underlying curve. Public key derivation and signing algorithm will be treated separately.

Monero employs edwards25519 elliptic curve as a basis for its key pair generation.

The curve comes from the Ed25519 signature scheme. While Monero takes the curve unchanged, it does not exactly follow rest of the Ed25519.

The edwards25519 curve is birationally equivalent to Curve25519.

Definition

This is the standard edwards25519 curve definition, no Monero specific stuff here, except the naming convention. The convention comes from the CryptoNote whitepaper and is widely used in Monero literature.

Curve equation

−x^2 + y^2 = 1 − (121665/121666) * x^2 * y^2
 

Note:

  • curve is in two dimensions (nothing fancy, like all the curves is high school)
  • curve is mirrored below y axis due to y^2 part of the equation (not a polynomial)

Base point: G

The base point is a specific point on the curve. It is used as a basis for further calculations. It is an arbitrary choice by the curve authors, just to standardize the scheme.

Note that it is enough to specify the y value and the sign of the x value. That's because the specific x can be calculated from the curve equation.

G = (x, 4/5)  # take the point with the positive x
 
 # The hex representation of the base point
diff --git a/public/cryptography/asymmetric/introduction/index.html b/public/cryptography/asymmetric/introduction/index.html
index e044a2f..b6f313d 100644
--- a/public/cryptography/asymmetric/introduction/index.html
+++ b/public/cryptography/asymmetric/introduction/index.html
@@ -1,4 +1,4 @@
- Asymmetric Cryptography in Moner - Monero Documentation      

Asymmetric Cryptography in Monero

Note

Author is nowhere close to being a cryptographer. Be sceptical on accuracy.

Before we get to Monero specific stuff, a little bit of context. We are talking asymmetric cryptography here. The "asymmetric" simply means the are two keys:

  • the private key (used primarily for signing data and for decrypting data)
  • the public key (used primarily for signature verification and encrypting data)

This is in contrast to symmetric cryptography which uses a single key. This key is a secret shared among the parties.

Historically, asymmetric cryptography was based on the problem of factorization of a very large integers back into prime numbers (which is practically impossible for large enough integers).

Recently, asymmetric cryptography is based on a mathematical notion of elliptic curves. Edwards25519 is a specific, well researched and standardized elliptic curve used in Monero.