Che cosa è l’ECDSA?

L’algoritmo di firma digitale della curva ellittica, noto come ECDSA (Elliptic Curve Digital Signature Algorithm), è un sistema crittografico che consente di generare firme digitali utilizzando coppie di chiavi pubbliche e private. Nel contesto delle transazioni Bitcoin, tutte le chiavi e le firme vengono attualmente generate tramite ECDSA.

Una firma ECDSA permette a un individuo di pubblicare una chiave pubblica e di creare una firma di dati utilizzando la propria chiave privata. Tale firma può poi essere verificata da chiunque, in modo da garantire che sia stata creata da colui che possiede la corrispondente chiave pubblica. È importante sottolineare che non è possibile risalire alla chiave privata a partire dalla chiave pubblica o dalla firma stessa. Inoltre, la firma ECDSA non può essere utilizzata per creare firme per altri dati. La solidità di queste caratteristiche di sicurezza ha portato all’utilizzo delle firme ECDSA per tutte le transazioni Bitcoin.

Una curva ellittica è una funzione matematica che segue il formato generale y^2 = x^3 + ax + b. Nel caso di Bitcoin, la curva ellittica utilizzata ha un’equazione specifica y^2 = x^3 + 7, dove il parametro a è uguale a zero e il parametro b è sette. Ogni punto appartenente a questa curva ellittica, chiamata secp256k1, rappresenta una chiave pubblica Bitcoin valida.

Per generare una chiave pubblica, un utente deve prima generare una chiave privata, che altro non è che un numero random. Successivamente, tale chiave privata viene moltiplicata per un punto specifico chiamato Generator, al fine di produrre la corrispondente chiave pubblica. È importante notare che questa moltiplicazione di un punto segue delle regole diverse rispetto alla moltiplicazione tradizionale. In particolare, la divisione di un punto non è un’operazione computabile, il che significa che al momento non è possibile derivare una chiave privata a partire da una chiave pubblica, garantendo così la sicurezza del sistema ECDSA.