ECDSA sta per Algoritmo di firma digitale della curva ellittica (Algoritmo di firma digitale della curva ellittica). Questo sistema viene utilizzato per creare una firma digitale che consente la verifica da parte di terzi senza compromettere la sicurezza.
Nozioni di base su ECDSA
Il funzionamento matematico e algoritmico di ECDSA è piuttosto complesso. Per iniziare, ECDSA basa il suo funzionamento sulla base di un'equazione matematica che disegna una curva. Il processo, in generale, sarebbe il seguente:
Clicca qui per aprire GRATUITAMENTE e in tutta sicurezza il tuo conto utente in spagnolo e ricevere un regalo di 5€.
El Algoritmo ECDSA funziona attraverso un meccanismo di crittografia chiamato, crittografia asimmetrico. Questo sistema di firma genera due chiavi chiamate chiave privata e chiave pubblica. Entrambi i tasti sono correlati da una complessa operazione matematica eseguita su una funzione di curva ellittica.
Secondo questo schema operativo, ECDSA garantisce innanzitutto quanto segue:
- Firme uniche e irripetibili per ogni set di generazione di chiavi private e pubblico.
- L'impossibilità pratica di falsificare le firme digitali. Questo perché la potenza di calcolo necessaria è al di fuori dei limiti attuali.
Grazie a queste due caratteristiche, ECDSA è considerato uno standard sicuro per la distribuzione di sistemi di firma digitale. Il loro utilizzo oggi è così vario che vengono applicati in quasi tutti i campi informatici. Ad esempio, l'infrastruttura del certificato di sicurezza SSL y TLS Internet fa un uso massiccio di ECDSA. Bitcoin, il precursore della tecnologia blockchain, si avvale anche di ECDSA per raggiungere l'alto livello di sicurezza che lo caratterizza.
Su quella curva, un punto viene scelto a caso e viene considerato il suo punto di origine.
Successivamente, viene generato un numero casuale, è proprio questo numero casuale, che conosceremo come chiave privata.
Quindi, utilizzando la chiave privata e il punto di origine, si esegue un'altra equazione e si ottiene un secondo punto sulla curva, ovvero la propria chiave pubblica. È proprio l'uso di questa nuova equazione insieme al punto di origine e alla chiave pubblica che permette di stabilire il rapporto tra la chiave pubblica e quella privata.
Questo processo è considerato sicuro, perché al momento può essere eseguito solo in una direzione. Cioè, è solo possibile stabilire la relazione matematica dalla chiave privata a quella pubblica, ma non al contrario.
In questo modo, quando un utente vuole firmare un file, utilizzerà la propria chiave privata (il numero casuale) con estensione hash del file (un numero univoco per rappresentare il file) in un'equazione magica e che ti darà la tua firma. Se qualcuno vuole verificare la veridicità delle informazioni, ha bisogno solo della chiave pubblica e con essa potrà verificare l'autenticità.
Quindi, chiavi pubbliche possono essere conosciuti da tutti, senza mettere a repentaglio l'autenticità della nostra firma, poiché la chiave pubblica serve solo a verificare, non a firmare.
Perché usiamo ECDSA?
La necessità di creare un sistema di firma come ECDSA nasce dalla possibilità di condividere i dati in modo sicuro. In un mondo connesso da reti, è necessario uno schema in cui condividere le informazioni e convalidarle. Tutto questo senza la necessità di svelare segreti. Vediamolo con il seguente esempio:
Un'azienda ha redatto una relazione economica sulle proprie attività. Questo rapporto viene fornito ad alcuni investitori con accesso limitato alle informazioni. Questi investitori vogliono verificare l'autenticità del report e dei dati forniti.
A questo punto ci chiediamo: l'amministratore ti darà il codice di accesso completo ai dati dell'azienda? O al contrario, non consentirà agli investitori di accedere alle informazioni in modo che possano verificarle?
Entrambe le situazioni non sono buone e l'uso di ECDSA può risolverlo grazie a un terzo approccio:
L'amministratore utilizza un sistema di firma asimmetrico ECDSA. Con questo, l'amministratore firma il rapporto con la sua chiave privata e consegna la chiave pubblica agli investitori. Subito dopo, gli investitori possono verificare l'autenticità delle informazioni fornite utilizzando la chiave pubblica. Ciò senza la necessità di un accesso illimitato ai dati.
Chiave e firme private e pubbliche
Lo schema operativo ECDSA si basa sui seguenti tre pilastri:
- La chiave privata, che in realtà è un numero segreto noto solo alla persona che l'ha generata. Una chiave privata è essenzialmente un numero generato in modo casuale. In Bitcoin, qualcuno con la chiave privata che corrisponde ai fondi sulla blockchain è l'unico che può spendere quei fondi.
- La chiave pubblica, che è un numero generato da una relazione matematica utilizzando la chiave privata. Può essere ottenuto solo conoscendo in anticipo la chiave privata e non viceversa. Questa chiave viene generata allo scopo di essere condivisa pubblicamente in modo che altri possano determinare se una firma è autentica.
La firma, in realtà, è semplicemente un numero che indica al verificatore che l'operazione di firma digitale è andata a buon fine. Una firma viene generata matematicamente dall'hash di ciò che deve essere firmato, più una chiave privata. La firma stessa è composta da due numeri noti come "r"E"s«. Con la chiave pubblica, nella firma può essere utilizzato un algoritmo matematico. Lo scopo di questo è determinare ciò che è stato originariamente prodotto dal hash e la chiave privata. Un sistema che funziona perfettamente, senza la necessità di conoscere la chiave privata.
ECDSA e tecnologia blockchain
Uno dei principali problemi che hai dovuto affrontare Satoshi Nakamoto con Bitcoin, era la distribuzione di chiavi pubbliche. La visione di Nakamoto era quella di consentire la condivisione di chiavi pubbliche piccole, sicure, a basso costo di calcolo e facili da usare.
Queste caratteristiche sarebbero ottenibili grazie alla crittografia a curva ellittica. Quindi, questo è il motivo per cui Nakamoto ha deciso di utilizzare ECDSA per il suo sistema. E con questo, è stato garantito che:
- Era un sistema molto sicuro. Satoshi ha deciso di utilizzare lo standard della curva ellittica secp256k1 per Bitcoin. Questa curva ellittica ha una sicurezza molto ben collaudata, quindi è stata perfetta da applicare.
- Il costo computazionale della generazione delle chiavi e della convalida delle firme è molto basso.
- Consente la generazione di infinite chiavi pubbliche.
Tuttavia, le chiavi ECDSA a 256 bit sono molto lunghe. Considerando questo, Nakamoto decise refactoring chiavi pubbliche per renderle più brevi. Era così usando Codifica Base58 y funzioni hash come SHA-256 y RIPE®-160, ha ridotto le dimensioni delle chiavi pubbliche e creato il file Indirizzi Bitcoin.
Ad esempio questo indirizzo: 1PfS6w6MonCT976xe2jD9tqwo8QkDnonRW.
Tutto questo si è scoperto, è un sistema informatico che ha permesso ai suoi utenti di inviare e ricevere bitcoin in sicurezza.
Giocare con ECDSA
Su Internet ci sono molti spazi dove possiamo giocare e imparare un po 'di più su come funziona ECDSA. Uno di questi siti è il GitHub di Kenji Urushima.
urushima è un lavoratore Fuji Xerox in Giappone. Nella tua pagina sito web ha uno strumento interattivo che ti aiuta a capire come funziona ECDSA. Su questo sito, possiamo creare chiavi private e pubbliche e firme di messaggi personalizzate. Sperimentare un po 'può essere la chiave per capire un po' di più come funziona questo sistema di firma digitale.
Clicca qui per aprire GRATUITAMENTE e in tutta sicurezza il tuo conto utente in spagnolo e ricevere un regalo di 5€.