Ci sono due lati della domanda:
-
Perfect Forward Secrecy : utilizzando una suite di crittografia "DHE", in realtà crittografate i dati relativi a una chiave privata DH che non viene mai memorizzata su alcun disco . Per qualsiasi sessione SSL, la crittografia può essere violata se l'hacker riesce a crittografare la chiave pubblica utilizzata per la crittografia (DH per una suite di crittografia DHE, RSA per una suite di crittografia RSA), o se l'utente malintenzionato ruba una copia della chiave privata. Quest'ultima occorrenza è in realtà molto più probabile nella pratica per una suite di crittografia basata su RSA; e il punto di PFS è quello di rimuovere quella minaccia.
-
RSA vs Diffie-Hellman: per il momento, i metodi più conosciuti per rompere RSA e DH comportano la risoluzione di due problemi difficili, integer factorization e discreto logaritmo rispettivamente. Accade così che per entrambi i problemi, l'algoritmo più veloce conosciuto sia il Setaccio di campo numero generale (sebbene inizialmente un algoritmo di fattorizzazione, un la variante di GNFS può essere applicata al logaritmo discreto). Per complessità asintotica , RSA e DH sono quindi di durezza equivalente quando il modulo DH ha le stesse dimensioni del modulo RSA.
Tuttavia, nel termine pratico, la DH è un po 'più difficile. GNFS include diverse fasi, le due principali sono il setaccio e quindi la riduzione lineare . Per un grande modulo, la riduzione lineare diventa il collo di bottiglia a causa della dimensione pura della matrice. Per una data dimensione del modulo, si otterrà lo stesso numero di elementi nelle due matrici (quella per RSA e quella per DH), ma gli elementi della matrice sono semplici bit nel caso RSA, rispetto agli interi modulo p nel caso DH. Quindi, la matrice DH è più grande.
Non renderà n -bit DH come "difficile" come 2n -bit RSA, comunque. Se guardiamo i record, vediamo 768-bit per RSA, 530-bit per DH; e il caso DH usato meno energia grezza. Inoltre, non è del tutto giustificato confrontare la durezza di 1024-bit DH con la durezza di RSA a 2048 bit, poiché entrambi si trovano nella zona "non possono romperlo".
Un riassunto di tutto ciò va così: mentre il DH a 1024 bit è un po 'più strong (in teoria) di RSA a 1024 bit, la differenza è lieve (ad esempio, il DH a 1024 bit è al massimo RSA a 1200 bit). Ma in termini pratici il rischio di furto di chiavi private, per una chiave non effimera, minimizza qualsiasi rischio crittanalitico per qualsiasi RSA o DH di 1024 bit o più; in questo senso, PFS è un must-have e DHE con una chiave DH a 1024 bit è molto più sicuro di suite di crittografia basate su RSA, indipendentemente dalle dimensioni della chiave RSA.