Secp256k1

Difficoltà: avanzato

Argomento: tecnologia


DEFINIZIONE

Secp256k1 è il nome della curva ellittica utilizzata da Bitcoin per implementare la sua crittografia a chiave pubblica.

Tutti i punti su questa curva sono chiavi pubbliche Bitcoin valide.

Quando un utente desidera generare una chiave pubblica utilizzando la propria chiave privata, moltiplica la propria chiave privata, un numero molto grande, per il Generator Point, un punto definito sulla curva secp256k1.

Grazie al Discrete Log Problem, la divisione di una chiave pubblica per il Generator Point non può produrre una chiave privata.

Tutte le curve ellittiche sono equazioni con un modello specifico: y^2 = x^3 ax^ b. Per secp256k1 in particolare, a = 0 e b = 7, ottenendo l'equazione y^2 = x^3 7. Poiché la componente y dell'equazione è al quadrato, secp256k1 è simmetrico rispetto all'asse x e per ogni valore di x, ci sono due valori di y, uno dei quali è dispari mentre l'altro è pari.

Ciò consente di identificare le chiavi pubbliche semplicemente dalla coordinata x e dalla parità della coordinata y, risparmiando un utilizzo significativo dei dati sulla blockchain.

  • Vedi anche
  • Crittografia
  • ECC (Elliptic-Curve Cryptography) Crittografia a curva ellittica
  • ECDSA (Elliptic Curve Digital Signature Algorithm) Algoritmo di firma digitale a curva ellittica
  • Private Key Chiave privata
  • Public Key Chiave pubblica

aggiornato il 2022-06-20