Confrontare la forza della chiave tra la crittografia simmetrica e lo scambio di chiavi asimmetriche è come paragonare le mele con le arance: è fattibile (sono entrambi gustosi frutti) ma difficili e pieni di dettagli sottili. Per interrompere DH, il metodo più noto sta cercando di risolvere il problema discreto logaritmo , per il quale l'algoritmo più noto è una variante di Calcolo dell'indice che contiene parti del Algoritmo di campo numero generale (GNFS è per la fattorizzazione, ma il logaritmo discreto modulo un primo, e la fattorizzazione di un grande numero intero non principale, sono problemi matematicamente correlati). Tali algoritmi di attacco richiedono un bel po 'di potenza, in particolare molta RAM molto veloce; d'altra parte, rompere una chiave simmetrica attraverso una ricerca esauriente (questo è ciò che intendiamo per " n bit di sicurezza") richiede solo CPU, ma nessuna RAM, ed è molto più facilmente distribuita su molti nodi. Quindi le mele sono CPU e le arance sono RAM. L'unica misura comune per entrambi è il dollaro; ma chiedere il costo finanziario per rompere una chiave DH a 1024 bit, o il costo finanziario per rompere una chiave simmetrica a 80 bit, è un po 'privo di significato, poiché questo va a importi dove il dollaro cessa di essere ben definito (come un ordine di grandezza, i dollari possono essere usati per misurare gli importi fino al debito nazionale degli Stati Uniti, ma non molto più alti).
Questi avvertimenti non impedivano a vari ricercatori e organismi di standardizzazione di effettuare confronti mela / arancio. Questo sito fa un buon lavoro di elencare quelle stime di sicurezza, con pratiche calcolatrici online. Come linea di base, sono tutti d'accordo sul fatto che il DH a 1024 bit è vicino, in sicurezza, a ciò che offre una chiave simmetrica da 77 a 80 bit. Si noti che una chiave simmetrica a 64 bit era interrotta nel 2002 e 77 bit è "solo" 8192 volte di più difficile.
Poiché il più noto attacco di logaritmo discreto (IC con GNFS) ha molte parti comuni con il più noto algoritmo di fattorizzazione (GNFS), il DH con un modulo k -bit dovrebbe essere approssimativamente equivalente a un RSA chiave con un modulo k -bit. Quindi dovresti usare anche 2048 bit per la DH.
Nel tuo elenco, "AES-256" è eccessivo (AES-128 sarebbe ancora "più sicuro" di 2048-bit RSA o DH), ma in gran parte innocuo overkill (AES-256 è solo il 40% più lento di AES- 128).