Quanto tempo ci vorrebbe per rompere un'e-mail crittografata OpenPGP a 1024 bit?


9

Per WPA, ci sono calcolatori per determinare il tempo necessario per decifrare una passphrase, ma non ho trovato nulla per OpenPGP.

Quanto tempo ci vorrebbe per interrompere un'e-mail crittografata OpenPGP a 1024 bit (a seconda della potenza della CPU)?

Sono anche interessato ad altre dimensioni chiave come 2048 e 4096.

Risposte:


7

Mentre la risposta di @Jens Erat è stata piuttosto completa, ho fatto delle ricerche sulla rottura di RSA (l'algoritmo dietro OpenPGP), quindi volevo opinare:

Infrangerò la norma e fornirò prima il TL; DR: è impossibile che tu rompa quella chiave. Se lo stiamo osservando realisticamente, non c'è modo di fattorizzare un numero intero a 1024 bit. La tua migliore scommessa possibile sarebbe quella di tentare di interrompere un'altra parte della catena di sicurezza (ad esempio il desktop in cui il destinatario controlla la sua e-mail).

Con il realismo fuori mano, consideriamo le possibili strategie:

  • Indovina cieca / Brute Forcing. Con un semiprime a 1024 bit, ci sono poche possibilità che funzioni mai. Sarebbe meglio usare il tuo tempo in modo casuale cercando di indovinare i numeri della lotteria.

  • Generare una tabella arcobaleno. Elimina le congetture dal factoring prendendo ogni numero primo in 2 ^ 1024 e moltiplicandolo per ogni altro numero primo, memorizzando il risultato in una tabella. Quindi tutto ciò che dovresti fare è cercare la coppia corretta. Come puoi immaginare, anche questo è impossibile. Ciò implicherebbe x! coppie per x numero di numeri primi. Con la funzione di conteggio dei primi , stai guardando circa 2,95 * 10 ^ 307 numeri primi - per confronto, si stima che il numero di atomi nell'universo osservabile sia sulla magnitudine di 10 ^ 83, quindi anche se potessimo rendere ogni deposito atomico due numeri primi e il loro prodotto in un modo che il nostro computer potrebbe indicizzare sarebbe impossibile.

  • Utilizzare il setaccio campo Numero generale . GNFS è la soluzione migliore per il factoring di un semiprime di grandi dimensioni. È stato usato da Kleinjung e dal suo team per fattorizzare RSA-768, un semiprime a 768 bit. Sfortunatamente, la sua squadra ha impiegato più di tre anni per realizzarsi, e gli ordini di grandezza sono inferiori ai numeri che si desidera considerare. Anche se hai speso milioni di dollari (al giorno) per affittare i migliori supercomputer a piena capacità, sarebbe quasi impossibile calcolare il numero. Il primo passo di GNFS è trovare abbastanza "relazioni" che consentano di risolvere i sottoproblemi e ciò può richiedere molto tempo.

La tua ultima risorsa è quella di utilizzare un computer quantistico, che ti consenta di fattorizzare i numeri in un arco di tempo possibile. Sfortunatamente, questi devono ancora essere sviluppati fino a un certo punto di utilità. Quindi, per ora, non possiamo considerare i semiprimi di 1024 bit e maggiori (e quindi gli algoritmi che si basano su di essi).


20

Innanzitutto, suppongo che tu stia parlando della crittografia RSA a 1024 bit.

In generale, l'argomento è troppo complicato per fornire un numero semplice.

tl; dr : craccare un messaggio crittografato OpenPGP su una singola CPU non è fattibile e probabilmente impiegherà anni anche con grandi cluster di elaborazione. Eppure i difetti matematici sconosciuti (al pubblico) potrebbero cambiare questo per ordine di grandezza, come i computer quantistici potrebbero fare in qualche momento in futuro (lontano, dal punto di vista dell '"era di Internet").

La versione leggermente più lunga:

Cracking della crittografia asimmetrica (chiave RSA 1024 bit)

Oltre alle chiavi RSA a 1024 bit, questo vale anche per chiavi di dimensioni maggiori. Le chiavi più grandi offrono maggiore sicurezza (sotto forma di potenza di calcolo per decifrarle), ma ricorda che la sicurezza non aumenta in modo lineare con la dimensione della chiave.

C'è un bel post sullo scambio di stack di sicurezza delle informazioni, "Come stimare il tempo necessario per decifrare la crittografia RSA?" , che non si completa con una stima come "Utilizzando un modello Core i7 xy, sarai in grado di decifrare una chiave RSA 1024 bit nelle ore z stimate", ma le risposte concordano sul fatto che "le chiavi RSA 1024 bit non possono essere decifrate dai singoli con la potenza di calcolo normalmente disponibile (cioè una manciata di macchine di fascia alta) in un tempo ragionevole.

La discussione sulla rottura di chiavi a 1024 bit con molta più potenza di calcolo è stata considerata solo da un punto di vista accademico:

Di recente ho appreso che la selezione dei parametri per una fattorizzazione numerica a 1024 bit è iniziata (questa è la parte "intelligente"); il setaccio è tecnicamente fattibile (sarà costoso e comporterà anni di tempo di calcolo su molti cluster universitari) ma, per il momento, nessuno sa come fare la parte di riduzione lineare per un numero intero di 1024 bit. Quindi non aspettarti una pausa di 1024 bit in qualsiasi momento presto.

Questo probabilmente vale anche per le grandi istituzioni ben finanziate con molta potenza di calcolo come la NSA.

Le cose potrebbero cambiare rapidamente se

  • qualcuno trova un difetto matematico, che riduce la complessità di RSA di ordini di grandezza (alcune istituzioni come la NSA impiegano un vasto numero di grandi matematici), oppure
  • i computer quantistici finalmente funzionano e diventano abbastanza potenti e in grado di eseguire determinati algoritmi. Non dovrebbe verificarsi entro i prossimi anni.

Per DSA / ElGamal, le cose sono leggermente diverse. Una chiave DSA della stessa dimensione di una chiave RSA fornisce maggiore sicurezza, ma allo stesso tempo DSA è più vulnerabile a numeri casuali errati (confronta con il difetto del generatore di numeri casuali Debian ). La crittografia della curva ellittica che è in arrivo per OpenPGP in questo momento non ha ancora attacchi noti per gli algoritmi supportati e generalmente considerati sicuri, ma rimangono alcuni dubbi soprattutto sulle curve raccomandate dal NIST (NIST ha perso una certa reputazione per aver fatto un casuale rotto generatore di numeri uno standard) e alcuni nitpicks di implementazione.

Cracking della crittografia simmetrica

Per i rason delle prestazioni, OpenPGP utilizza la crittografia ibrida, quindi il messaggio viene crittografato con crittografia simmetrica e una chiave simmetrica casuale (in OpenPGP, spesso chiamata "chiave di sessione"). Questa chiave di sessione viene nuovamente crittografata utilizzando l'algoritmo di crittografia asimmetrica, ad es. RSA.

Se sei in grado di decifrare la chiave di crittografia simmetrica di un messaggio, puoi anche leggere il messaggio (a differenza del crack della chiave asimmetrica, in cui puoi leggere tutti i messaggi crittografati su questa chiave).

A differenza delle primissime versioni di PGP (che utilizzava un algoritmo di crittografia simmetrica progettato dallo stesso Zimmermann chiamato BassOmatic , che è considerato rotto), tutti gli algoritmi simmetrici definiti per OpenPGP non hanno attacchi noti rilevanti.

A meno che qualcuno non abbia scelto di non utilizzare la crittografia simmetrica (il che è effettivamente possibile!), La rottura di un messaggio utilizzando l'algoritmo di crittografia simmetrica non dovrebbe essere considerata fattibile al momento.


Devo chiederti ... l'ortografia "asimmetrica" ​​è intenzionale?
David Z,

No, certo che no; né era "copmuting". Grazie per avermi avvisato.
Jens Erat,

Non esiste una "chiave DES della stessa dimensione di una chiave RSA". DES usa chiavi a 56 bit, periodo . È definito solo con chiavi a 56 bit; non è possibile eseguire DES con altre dimensioni di chiave. Inoltre, non è vulnerabile a numeri casuali errati, perché DES non utilizza numeri casuali in nessun punto dell'algoritmo (né altri primitivi di cifratura a blocchi); usi particolari potrebbero includere un aspetto casuale (ad es. un IV per la modalità CBC deve essere casuale), ma DES stesso è completamente deterministico. Anche DES non viene più utilizzato (il triplo DES viene occasionalmente, ma DES stesso non lo è mai). Sei sicuro di voler parlare di DES?
circa

Certo che non volevo. Il confuso DES con DSA non avrebbe dovuto accadere. DES, PGP, RSA, NSA, DSA: abbiamo bisogno di meno acronimi di tre lettere!
Jens Erat,

Afaict la maggior parte delle chiavi openpgp a 1024 bit (diversamente dalle chiavi ssl / tls) sono DSA e non RSA. Trovo molte discussioni online sul cracking di 1024 bit RSA ma poco sul cracking di 1024 bit DSA.
lavaggio:
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.