Lo schema di firma crittografica EdDSA è uno dei sistemi di firma digitale crittografica più sicuri del momento e la cui evoluzione non si ferma. EdDSA sta attualmente dimostrando chiaramente ciò che promette, sicurezza, efficienza e velocità.

EEsistono diversi schemi di firma crittografica e tra questi uno dei più importanti è EdDSA. Questo schema è stato creato per firmare digitalmente e inequivocabilmente un documento o un'informazione. Questo per riconoscerne l'autenticità o l'origine. Per realizzare questo, EdDSA fa uso di tecniche crittografiche asimmetriche molto potenti. Tutto questo per garantire che questa firma digitale non possa essere duplicata.

Per dirla più semplicemente, pensa a EdDSA come a un timbro per lettere che non può essere duplicato. Un timbro che allo stesso tempo genera un'impronta diversa per ogni lettera che emetti e indirizzi ai suoi destinatari. Impronta che consente ai suoi destinatari di verificare che questa lettera sia stata effettivamente realizzata e firmata da loro. Ti piace l'idea? Bene, questo è esattamente ciò che fa EdDSA e quindi la sua enorme potenza e usabilità.

Ad esempio, EdDSA può essere utilizzato per garantire l'autenticità dei documenti digitali. Dopo aver creato e firmato un documento digitale, la firma digitale crea un'impronta digitale univoca per quel documento. Una manipolazione dello stesso non importa quanto piccola sia la firma non valida. In questo modo il documento è protetto da manipolazioni e la sua autenticità è garantita in tutte le situazioni.

La creazione di EdDSA è stata il risultato del lavoro di Daniel J. Bernstein, Niels Duif, Tanja Lange, Peter Schwabe e Bo-Yin Yang. Hanno unito la tecnologia DSA e ECDSA, a cui hanno applicato una nuova curva ellittica che garantisce sicurezza e prestazioni. Il primo documento EdDSA è stato presentato nel 2011 e la sua intera specifica tecnica è di dominio pubblico.

caratteristiche tecniche

EdDSA è ricco di funzionalità che lo rendono unico rispetto ad altre opzioni. Tra questi possiamo evidenziare:

  1. Offre un sistema di verifica della firma molto più veloce ed efficiente dal punto di vista computazionale. Ciò significa che necessita di poca potenza di calcolo per eseguire le verifiche e può essere utilizzato su dispositivi meno potenti.
  2. Ha una capacità di verifica batch più veloce. Questa è una caratteristica correlata alla precedente. Consumare poca energia per la verifica rende un batch molto meno costoso da verificare. Ma è anche legato all'efficienza. L'algoritmo EdDSA è molto compatibile con la cache della CPU. Ciò consente di ridurre al minimo l'impatto su di essi e di aumentare la velocità di verifica.
  3. Il sistema di firma digitale è molto veloce. Il processo di lettura, verifica e firma del documento è pressoché istantaneo.
  4. Offre la generazione rapida di chiavi pubbliche e private. La generazione delle chiavi è veloce quasi quanto la firma.
  5. Lo schema della firma offre un alto livello di sicurezza. Il livello di sicurezza di EdDSA è paragonabile a quello di sistemi come RSA ed ECDSA. Ad esempio, la rottura di una firma EdDSA ben costruita potrebbe richiedere circa 4 milioni di anni o richiedere un computer quantistico.
  6. Resistenza alle collisioni. Le collisioni di hash non interrompono questo sistema. Ciò aggiunge uno strato di difesa contro la possibilità di debolezza nella funzione hash selezionata.
  7. Le firme e le chiavi generate da EdDSA sono di piccole dimensioni. Una firma EdDSA occupa circa 64 byte di dati. D'altra parte, le chiavi occupano la metà di quella dimensione, il che rende il sistema perfetto per essere applicato in sistemi con larghezza di banda, memoria e potenza ridotte.

Come funzionano le aziende EdDSA?

Il processo operativo di EdDSA si articola in più fasi, tra le quali abbiamo:

Scelta dell'algoritmo

Per prima cosa dobbiamo scegliere l'algoritmo da utilizzare per creare e utilizzare la nostra firma EdDSA. In generale, ci sono due algoritmi la cui differenza maggioritaria è inquadrata dalla curva ellittica che utilizza. Queste curve ellittiche sono le Ed25519 y Ed448. Nel caso di Ed25519 il suo livello di sicurezza è molto alto e paragonabile a opzioni come RSA y ECDSA. Ma Ed448 va un po 'oltre offrendo un livello di sicurezza chiaramente più elevato. Tuttavia, Ed448 è incompatibile con Ed25519 ed è più complesso da implementare.

In ogni caso, pilastro operativo di EdDSA è la scelta della sua curva e del livello di sicurezza richiesto.

Generazione delle chiavi

Una volta scelta la nostra curva, iniziamo la generazione del file chiave pubblica y chiava privata. Se EdDSA è un sistema di crittografia asimmetrica ed è proprio questo modello che permette di sfruttarne le potenzialità. A questo punto, la generazione della chiave segue lo stesso schema di generazione di qualsiasi sistema asimmetrico. Innanzitutto, l'ambiente deve avere un generatore di numeri casuali e una riserva di entropia sicura. Ciò garantisce la qualità dei numeri casuali applicati alla curva ellittica e il suo risultato unico.

Una volta verificato questo punto, inizia la generazione della chiave privata. Questa chiave è ciò che consentirà all'utente di creare firme crittografiche sicure in ogni momento. Dopo aver generato la chiave privata, inizia la creazione della chiave pubblica. Quest'ultimo viene generato in un processo di hash chiave privata utilizzando SHA-512. Una volta terminato l'hash, viene eseguita una codifica ottale sul numero generato dalla curva ellittica. Il risultato è la chiave pubblica che possiamo avere in modo che altri possano verificare i documenti che firmiamo. In questo modo manteniamo la sicurezza del sistema e della nostra chiave privata, origine della nostra firma digitale.

Firmato e verifica

La firma tramite EdDSA è abbastanza semplice ma efficace e sicura. Il processo consiste nel prendere le informazioni che vogliamo firmare e crearne un hash. Questo hash garantisce che la chiave casuale per generare la chiave pubblica sia completamente diversa in ogni momento. Questa chiave casuale viene poi applicata alla formulazione della curva ellittica che produce la firma del documento.

In questo modo è garantito:

  1. Ogni documento genera una "impronta digitale" univoca sotto forma di un hash SHA-512. SHA-512 viene utilizzato per aggiungere maggiore sicurezza ed evitare collisioni o hash ripetuti. Questa impronta digitale o hash viene quindi utilizzata per generare la chiave casuale che verrà utilizzata per generare la firma digitale di detto documento.
  2. Il processo di utilizzo di SHA-512 e di generazione di una chiave casuale univoca per ogni documento aumenta la sicurezza. In questo modo, ogni firma è unica per ogni documento e resta pubblicamente verificabile.

Come puoi vedere, l'operazione EdDSA non è affatto complicata e infatti offre una sicurezza che altri sistemi non offrono. Questo rende EdDSA un sistema di firma digitale molto potente e sicuro.

Differenze tra EdDSA ed ECDSA

  1. Le curve utilizzate da entrambi i sistemi sono diverse. EdDSA utilizza le cosiddette curve ellittiche di Edwards, mentre ECDSA utilizza curve ellittiche più varie.
  2. Il processo di generazione della firma è completamente diverso. ECDSA genera una firma univoca verificabile crittograficamente. Ma EdDSA genera firme diverse per ogni documento e ugualmente verificabili. Questo è un salto di sicurezza chiaramente osservabile. In effetti, ECDSA può essere sfruttato appieno a causa di questo difetto, come è successo con l'hack di PlayStation 3.
  3. Le firme e le chiavi EdDSA sono computazionalmente meno costose di ECDSA. Inoltre, entrambi gli elementi in EdDSA sono di dimensioni inferiori rispetto alla loro controparte ECDSA. Ciò offre a EdDSA il vantaggio di essere molto compatibile con la potenza di calcolo e la larghezza di banda.

Utilizza nella tecnologia blockchain

La tecnologia EdDSA non è molto diffusa nella tecnologia blockchain. Tuttavia, molti progetti hanno iniziato a considerare una migrazione tecnologica verso EdDSA a causa del suo potenziale.

Ad es Corda de R3 È uno dei grandi progetti blockchain che utilizza le firme EdDSA. Allo stesso modo, altri progetti preferiscono utilizzare EdDSA su ECDSA per motivi di sicurezza e ottimizzazione. E le ragioni di questa scelta sono abbastanza ovvie considerando le capacità di EdDSA.

La tecnologia di EdDSA non è certamente provata contro opzioni come RSA ed ECDSA, ma è stato fatto spazio. Un sito che possiamo vedere ampliato in un futuro non troppo lontano nella prossima evoluzione della tecnologia blockchain.

Quanto sai, Cryptonuta?

EdDSA è un sistema di crittografia simmetrico?

FALSO!

EdDSA è un sistema di crittografia asimmetrico. Ricorda che questi sistemi utilizzano coppie di chiavi pubblica-privata e quindi la chiave di crittografia e la chiave di decrittografia sono diverse. E non solo, è anche in grado di generare una chiave pubblica in ogni firma.

Vantaggi e svantaggi

Vantaggi

  1. Offrono un alto livello di velocità, ottimizzazione e sicurezza in un'unica applicazione.
  2. Le firme EdDSA sono completamente deterministiche. Ciò significa che le firme avranno sempre le stesse proprietà e valori in ogni momento.
  3. Il sistema offre resistenza agli attacchi del canale laterale. Questa è una misura di sicurezza che impedisce che le firme vengano violate da questo tipo di attacco di forza bruta.
  4. Le formule sono valide per tutti i punti della curva, senza eccezioni. Ciò evita la necessità per EdDSA di eseguire costose convalide dei punti su titoli pubblici non attendibili.
  5. EdDSA fornisce anche resistenza alle collisioni, il che significa che le collisioni della funzione hash non interrompono questo sistema (si applica solo a PureEdDSA).

Svantaggi

  1. Manca il livello di test e standardizzazione di altre opzioni note come RSA ed ECDSA.
  2. La sua comprensione dell'uso e dell'analisi algoritmica è un po 'più complessa, rendendo difficile la progettazione del software.
  3. Sono incompatibili con aziende come ECDSA e RSA. Ciò impedisce un mix di firme all'interno di una struttura blockchain senza marker.