since it's known that the NSA infiltrated RSA and made their key generation algorithm weaker
Se lo sai, allora sai male. Stai confondendo due cose che non hanno alcuna relazione:
-
RSA , l'algoritmo crittografico asimmetrico.
-
Dual_EC_DRBG , un PRNG algoritmo di scarsa qualità e suscettibile di backdooring
RSA può essere utilizzato per la crittografia asimmetrica e per le firme digitali. Un PRNG non può fare né l'uno né l'altro. Un PRNG produce un flusso infinito di bit imprevedibili; questo è qualcosa che RSA non fa. Le due cose sono davvero diverse.
Ora qual è la fonte della confusione? È duplice:
- Un algoritmo crittografico asimmetrico utilizza i tasti che devono essere generati casualmente ad un certo punto; l'algoritmo di generazione della chiave richiede un flusso di bit casuali su cui lavorare, normalmente fornito da un PRNG crittograficamente strong (quindi potenzialmente Dual_EC_DRBG, o qualsiasi altro PRNG).
- Un fornitore di software che ha implementato Dual_EC_DRBG e lo ha fornito ai suoi clienti era Sicurezza RSA . Quella compagnia si chiama "RSA" perché fu fondata da Rivest, Shamir e Adleman, i tre ricercatori che inventarono anche l'algoritmo asimmetrico RSA e lo chiamarono in quel modo esattamente per lo stesso motivo. Fondamentalmente, Rivest si chiama Rivest quando inventa algoritmi crittografici, e viene ancora chiamato Rivest quando fonda società. Comunque, hanno venduto la compagnia due decenni fa.
La linea di fondo è che RSA, l'algoritmo asimmetrico, non è in alcun modo "backdoor". Ciò che può essere backdoor è il PRNG utilizzato in un'implementazione specifica dell'algoritmo di generazione della coppia di chiavi. Ma se si usa Dual_EC_DRBG per generare una coppia di chiavi ElGamal, si viene ugualmente colpiti. Pertanto, l'esistenza di PRNG povero e debole è in no way un motivo per preferire ElGamal rispetto a RSA.
(Se vogliamo fare il pasticcio, succede il contrario: la backdoor conosciuta in Dual_EC_DRBG è più facile da usare se Dual_EC_DRBG è stato utilizzato per produrre una chiave ElGamal piuttosto che una chiave RSA. Ma in generale, se lo strumento di generazione delle chiavi usa un PRNG deliberatamente debole, quindi perdi. Indipendentemente dal tipo di chiave.)
Che cos'è la lunghezza della chiave ? Per qualche strana occasione, succede che le chiavi RSA, DSA e ElGamal di dimensioni simili offrano una forza vagamente simile (questa è pura fortuna dato che si basano su diversi tipi di oggetti matematici). Le chiavi RSA / DSA / ElGamal a 1024 bit attualmente eludono le nostre capacità crittanalitiche, ma sembrano essere alla portata della tecnologia basata sulla Terra (se si spendono qualche centinaia di milioni o miliardi di dollari nella costruzione di un dedicato macchina e non importa se ci vogliono 6 mesi per rompere una singola chiave). Le chiavi RSA / DSA / ElGamal a 2048 bit sono al di là di ciò che può essere fatto con la tecnologia prevedibile. Qualsiasi dimensione della chiave oltre i 2048 bit equivale all'acquisto di un'auto sportiva rossa per corteggiare le ragazze.
Per il tuo caso specifico:
-
Le opzioni "solo segno" renderanno le chiavi utilizzabili solo per le firme e non per, ad esempio, le e-mail crittografate. Se si desidera utilizzare la chiave per la crittografia, sarà necessario utilizzare una delle prime due opzioni.
-
In passato, RSA è stato brevettato (negli Stati Uniti), quindi alcune implementazioni supportano solo DSA ed ElGamal. Dal momento che il brevetto è scaduto nel 2000, qualsiasi implementazione decente di PGP ora può gestirlo bene.
-
Le firme DSA sono un po 'più corte delle firme RSA; Lo scambio di chiavi basato su ElGamal utilizzerà pochi byte in più rispetto allo scambio di chiavi basato su RSA. Qui stiamo parlando solo di poche decine di byte; qualsiasi ottimizzazione di questo tipo sarà sminuita dalla perdita subita se decidi di utilizzare rosso chiavi sovradimensionate per affermare la tua virilità.