No, più lungo non è migliore.
Lasciami spiegare. In crittografia simmetrica , le chiavi sono solo mazzi di bit e tutte le sequenze di bit sono chiavi valide. Non hanno una struttura interna. Se si utilizzano algoritmi decenti, il migliore attacco possibile su una chiave per la crittografia simmetrica è forza bruta : l'utente malintenzionato tenta tutte le chiavi possibili finché non trova quella giusta. Se la chiave ha n bit, allora ci sono 2 n possibili chiavi, e l'attaccante, in media, troverà quella giusta dopo aver provato metà di essi, ovvero 2 n -1 . Le chiavi più lunghe rendono quindi la forza bruta più dura; in tal caso, più a lungo è meglio.
(Si noti che c'è un limite a questo: quando le chiavi sono sufficientemente lunghe che la forza bruta non è più fattibile, aumentare la lunghezza della chiave non rende le cose "più sicure" in alcun modo significativo. Quindi, per le chiavi simmetriche, più lunghe è meglio fino a quando sono abbastanza lunghi, a quel punto più lungo è solo più lungo.)
RSA e EdDSA si riferiscono alla crittografia asimmetrica dove le cose sono completamente diverse. Una chiave per la crittografia asimmetrica è un oggetto matematico che ha una struttura interna specifica; rompere la chiave consiste nel dipanare quella struttura, e può essere fatto molto più efficientemente rispetto a provare tutte le possibili chiavi private. Prendi nota dei due punti:
-
Contro la forza bruta, ciò che conta non è la lunghezza della chiave pubblica , ma quella della chiave privata , poiché ciò che l'utente malintenzionato vuole è il privato chiave, non la chiave pubblica.
-
La forza bruta non è l'attacco più efficace contro le chiavi utilizzate nella crittografia asimmetrica.
Per le chiavi RSA, l'attacco ha successo mediante il factoring del modulo. La fattorizzazione di interi è un problema a lungo studiato; con l'algoritmo più noto, spezzare una chiave RSA a 2048 bit (cioè una chiave pubblica RSA il cui modulo è un intero di 2048 bit) richiede circa 2 110 o operazioni elementari.
Per le chiavi EdDSA, la chiave pubblica è un punto P su una curva ellittica, tale che P = xG dove x è la chiave privata (un numero intero a 256 bit) e G è un punto di curva convenzionale. L'algoritmo più conosciuto per il recupero di x da P e G richiede circa 2 128 operazioni elementari, cioè più che per una chiave RSA a 2048 bit. In generale, per rompere una chiave pubblica curva ellittica n , lo sforzo è 2 n / 2 .
Rompere la chiave è ben oltre ciò che è fattibile con la tecnologia esistente o prevedibile. Ma in un punto di vista "accademico", la chiave EdDSA è un po 'più strong della chiave RSA; inoltre, le curve ellittiche ti danno più sicurezza per bit (tecnicamente, diciamo che la fattorizzazione dei numeri interi è un problema sub-esponenziale).
Vedi questo sito per ulteriori informazioni su questo argomento.