Hai erroneamente letto la pagina sullo sniffing dei pacchetti; è già paranoico e allarmista, ma non a quel punto.
Quando si produce una firma DSA , il motore della firma funziona in un gruppo che è incorporato da un modulo p (un numero primo grande) e un ordine di gruppo q (un numero primo più piccolo, il divisore di p-1 ). Questi valori fanno parte della chiave pubblica. Per ogni firma , il motore della firma deve utilizzare un generatore di numeri casuali per produrre un valore casuale k che DEVE essere scelto in modo uniforme in 1..q-1 intervallo. Il termine "uniformemente" è molto importante. Se la scelta di k è distorta, allora consente il recupero delle chiavi dopo aver osservato un numero di firme. Se questo è critico o meno dipende dal pregiudizio. Un errore relativamente piccolo (ad es. k viene generato come una sequenza di bit delle dimensioni di q , quindi un modulo ridotto q ) incorre in un " accademico "rompere con il recupero chiave dopo circa 2 63 firme: un attacco, sì, ma non pratico. D'altra parte, se il generatore casuale è talmente macchiato che emette sempre lo stesso valore per k , allora due firme sono sufficienti per ricalcolare la chiave privata. Sony ha implementato un sistema di firma / RNG completamente fallito .
Ciò che equivale a è che se l'implementazione di un algoritmo di firma è fasulla, beh, potrebbe perdere dati importanti, inclusa la chiave privata. Questo è vero per qualsiasi algoritmo crittografico e RSA non è esente. Individuare il DSA è ingiustificato.
(Ciò che può essere detto in tutta la neutralità è che DSA ed ECDSA richiedono una fonte di casualità per ogni firma, che è un requisito relativamente pesante per i sistemi embedded come le smartcard. avere tempo, Io lavoro sul problema . Modifica: questo è ora un RFC pubblicato .)
Come per dimensioni della chiave , lo standard corrente specifica le dimensioni di 1024, 2048 e 3072 bit (che è la dimensione di p ). Una versione precedente dello standard consentiva solo 1024 bit, mentre una versione ancora più vecchia consentiva tutti i formati multipli di 64 da 512 a 1024 bit. Un certo numero di implementazioni implementate di DSA sono un po 'in ritardo rispetto allo standard 2009 e quindi consentono solo chiavi a 1024 bit.
Una chiave DSA a 1024 bit non è un rischio critico. Per quanto sappiamo, il DSA sembra essere almeno strong quanto RSA con le stesse dimensioni della chiave, e in pratica un po 'più strong. DSA fa affidamento su logaritmo discreto e l'attuale record DL-break è per 530 bit, mentre il record corrente per la fattorizzazione (RSA) è 768 bit. Gli algoritmi più conosciuti per la fattorizzazione e DL hanno molte somiglianze, ma il passaggio finale (dove è necessaria molta RAM veloce) sembra essere più costoso con la DL che con la fattorizzazione. Pertanto, al momento, una chiave DSA a 1024 bit non è un vero rischio per la sicurezza . Soprattutto da quando, per le firme, abbiamo meno preoccupazioni per le interruzioni future che per la crittografia; e DSA è solo per la firma.
Il problema principale con DSA è che non è ampiamente supportato come RSA; quando è supportato, può avere limitazioni (ad esempio limitate a chiavi a 1024 bit o utilizzabili insieme solo a un insieme limitato di altri algoritmi crittografici). Queste limitazioni non sono intrinseche all'algoritmo, ma riflettono lo stato del mercato, che è dominato da RSA. Tuttavia, attualmente è abbastanza di moda passare a varianti di curve ellittiche di DSA e, di conseguenza, il mercato è lento ( molto lentamente) spostando verso un maggiore supporto per il (DS) DSA.