La chiave privata è una delle parti crittografiche che vengono generate durante la procedura di generazione della chiave del sistema crittografico asimmetrico.
Una chiave privata o chiave privata è una chiave segreta generata durante il processo di crittografia asimmetrica. Questa chiave è ciò che consente la piena proprietà e gestione dei nostri portafogli di criptovaluta.
In Bitcoin, questa chiave viene generata utilizzando la crittografia del tipo ECDSA, utilizzando la curva ellittica secp256k1. Si tratta di tipo di crittografia asimmetrica particolare, che ci offre un elevato livello di sicurezza.
Grazie all'utilizzo di questo sistema crittografico è possibile generare un numero pressoché infinito di chiavi private. In effetti, quasi ogni numero a 256 bit è una chiave privata valida. In altre parole, con questo sistema siamo in grado di produrre 2 ^ 256 diverse combinazioni di chiavi. Sono così tante che all'attuale tasso di creazione ci vorrebbero almeno 4 trilioni di anni per crearli tutti. La loro diversità e la difficoltà di calcolarle sono esattamente ciò che rendeno questo sistema così sicuro.
Durante il processo di creazione di un portafoglio di Bitcoin, la prima cosa da creare è la chiave privata. Successivamente, inizia la creazione della chiave pubblica. Bene, quest'ultimo è matematicamente correlato alla chiave privata. Una volta creati entrambi, il file chiave pubblica è usato per formare l'indirizzo Bitcoin.
L'intero processo segue regole fisse ed è impossibile invertire il processo. Non possiamo derivare la chiave privata utilizzando né l'indirizzo né la chiave pubblica.
Come funzionano le chiavi private?
Il funzionamento delle chiavi private è semplice. Questo è solo un numero casuale, che viene applicato alla formula del sistema crittografico. Questa formula può rispondere a curve note come secp256k1, secp256r1 o Curve25519. Una volta applicato questo numero nella formula, si ottiene la cosiddetta chiave privata. Questa chiave viene utilizzata per generare la chiave pubblica e creare un sistema di crittografia asimmetrico, vale a dire, un sistema con due chiavi, quella privata e quella pubblica.
Grazie a questo sistema possiamo condividere con chi vogliamo la chiave pubblica senza creare alcun problema di sicurezza o di privacy. Questo avviene perché non esiste un modo pratico per ottenere la chiave privata da cui è stata ricavata la chiave pubblica. Una situazione favorevole, perché possiamo condividerla e ricevere messaggi crittografati da altre persone che hanno accesso alla nostra chiave pubblica. Questi messaggi possono essere visti solo dalla persona che ha originato il messaggio e da noi poiché siamo in possesso della chiave privata. Infatti, l'unico modo per decrittografare il contenuto del messaggio è con quella chiave.
Chiavi private in Bitcoin
Una chiave privata a 256 bit come quelle generate in Bitcoin, generalmente ha la seguente forma:
A5373D44C6D87DC0FA6A6738334369F4553213303DA61F20BD67FC233AA37485
Questo forma è spiegata dalle seguenti regole:
- Una chiave privata a 256 bit è suddivisa in una sequenza di 64 caratteri.
- L'intervallo dei caratteri rispetta l'ordine esadecimale, con un intervallo che va da AF e 0-9.
Tuttavia, le chiavi in questo formato sono complesse da gestire per gli utenti. Per questo motivo, per alcune attività in Bitcoin, è stato creato un algoritmo che le semplifica, con l'obiettivo di tenerle al sicuro, poiché sono la chiave per accedere al nostro portafoglio. Questo sistema creato da Bitcoin si chiama: formato di importazione Base 58.
Questo formato di importazione Base 58 non è altro che uno speciale algoritmo che trasforma la nostra chiave privata in una catena crittografica più breve e più semplice. Ad esempio, dalla nostra chiave privata precedentemente fornita, otteniamo:
C7w8CPTv25oeXXFPz3nnXCPQw7KPaCXHZD9DYWQ66TCg
Questa notazione è ciò che più comunemente vediamo in Bitcoin come chiave privata. Questo formato viene utilizzato, grazie al fatto che incorpora una serie di elementi che contribuiscono a garantirne la correttezza, qualcosa di impossibile con il formato della chiave privata originale. Inoltre, è più facile da usare e la sua implementazione nel software aiuta a migliorare i livelli di sicurezza dei portafogli.
Casi d'uso della chiave privata
Facciamo un esempio di questo caso:
Esempio del funzionamento di una chiave privata
Supponiamo che Juan voglia comunicare con Maria in modo sicuro. Per fare questo, Juan crea una chiave privata e da lì deriva una chiave pubblica. Una volta create entrambe le chiavi, Juan consegna la chiave pubblica a Maria. Ciò consentirà a Maria di scrivere un messaggio e inviarlo a Juan crittografato. Tutto questo, con la certezza che nessuno tranne lui potrà vedere il messaggio. Questo grazie al fatto che solo Juan possiede la chiave privata, e solo lui può decifrare i messaggi cifrati con la chiave pubblica che ha generato.
È proprio questo schema di sicurezza che consente l'utilizzo di chiavi pubbliche e private in modo così sicuro. E poiché le chiavi private sono la chiave che permette di spendere i bitcoin, è imperativo tenerle al sicuro. Le chiavi private possono essere memorizzate in file di computer, ma trattandosi di semplici numeri possono anche essere stampati su carta. Molti consigliano addirittura di crittografare le chiavi private in un altro sistema, per aggiungere un ulteriore livello di sicurezza.
I casi d'uso di questa tecnologia possono essere visualizzati nel software PGP. Questo sistema creato da Phil Zimmermann, consente d'utilizzare la crittografia asimmetrica per inviare messaggi in modo sicuro. Un'altra variante ben nota, e ampiamente utilizzata, è GPG sviluppato da Werner koch, che utilizza lo standard OpenPGP.
Lo stesso sistema viene utilizzato anche per le comunicazioni SSL / TLS da siti Internet protetti. Praticamente tutto su Internet utilizza un qualche tipo di crittografia asimmetrica, e questa Academy ne è un esempio.