Differenza di dimensione chiave tra AES e RSA

20

Posso dire che 128 bit usando AES forniscono più sicurezza di 1024 usando RSA?

    
posta BOB 25.06.2013 - 20:08
fonte

3 risposte

29

Non sono realmente direttamente comparabili. Il numero comunemente utilizzato è RSA a 2048 bit e corrisponde a AES a 128 bit. Ma quel numero non dovrebbe essere invocato senza comprendere le avvertenze.

Attualmente il modo più efficace per spezzare AES crypto (e qualsiasi altro cifrario simmetrico ininterrotto, peraltro) è la forza bruta. Prova semplicemente ogni possibilità finché non raggiungi il risultato corretto.

Ciò significa che è possibile, e bene all'interno della tecnologia odierna, crittografare i dati che (supponendo che non si sia mai trovato un attacco migliore - non un'orribile ipotesi), nessuno potrà mai essere infranto. Usa semplicemente abbastanza bit nella tua chiave in modo che non ci sia abbastanza energia nell'universo per provare abbastanza chiavi candidate. I numeri sono più piccoli di quanto si pensi:

Infatti, con AES, 128-bit è sicuro contro la tecnologia moderna, 256 è sicuro contro qualsiasi tecnologia futura probabile, e il 512 è probabilmente sicuro contro l'ipotetica tecnologia aliena anche mai immaginata.

La crittografia simmetrica, se non interrotta, non ti lascia un problema di matematica da risolvere. I numeri sono veramente e letteralmente criptati e il sistema è concepito in modo tale che la forza bruta sia di gran lunga la soluzione più efficiente.

Spezzare RSA, d'altra parte, non è così difficile. Invece di forzare le chiavi, devi modellare il modulo in primi e derivare i tasti tu stesso. Questo è molto più semplice da fare. È un problema di matematica e possiamo fare matematica.

Specificamente, la velocità con cui i primi possono essere fattorizzati sta aumentando FASTER rispetto alla velocità con cui le chiavi simmetriche possono essere forzate brute. E questo è con la tecnologia di oggi.

Ma andando avanti, supponendo che i computer quantistici possano essere migliorati in modo tale che le operazioni di qbit siano economiche come operazioni bit (che molte persone pensano siano abbastanza vicine, questo secolo al massimo, forse decenni), allora non importa quanto grande sia il tuo RSA chiave, rompendo la chiave è veloce come la crittografia.

Quindi la morale della storia è questa:

La "sicurezza equivalente" della lunghezza della chiave RSA rispetto alla lunghezza della chiave AES cambia nel tempo. Ogni tanto, devi aumentare la dimensione della chiave RSA rispetto alla dimensione della chiave AES per tenere conto dei progressi tecnologici . E anche allora, è una stima al meglio.

E mentre una chiave simmetrica a 256 bit dovrebbe essere protetta per centinaia, migliaia o forse centinaia di migliaia di anni, non dovrebbe essere assunta la chiave RSA di qualsiasi di sicurezza più di pochi dozzina di anni fa, dal momento che RSA dovrebbe essere completamente e completamente rotto dall'algoritmo di Shor.

    
risposta data 26.06.2013 - 00:45
fonte
5

Qualsiasi algoritmo di crittografia simmetrica comunemente usato (DES, 3DES, AES, ...) è normalmente più veloce di RSA.

Da una domanda simile su overflow dello stack:

Yes, purely asymmetric encryption is much slower than symmetric cyphers (like DES or AES), which is why real applications use hybrid cryptography: The expensive public-key operations are performed only to encrypt (and exchange) an encryption key for the symmetric algorithm that is going to be used for encrypting the real message.

The problem that public-key cryptography solves is that there is no shared secret. With a symmetric encryption you have to trust all involved parties to keep the key secret. This issue should be a much bigger concern than performance (which can be mitigated with a hybrid approach)

http://en.wikipedia.org/wiki/Hybrid_cryptosystem

Dai anche un'occhiata a questo documento: link Il seguente grafico sulla performance è stato preso da questo:

    
risposta data 25.06.2013 - 20:23
fonte
3

Can I say that 128 bit using AES provide more security than 1024 using RSA?

Sì.

La sicurezza effettiva fornita da AES-128 è di circa 126 bit a causa di alcuni attacchi a round ridotti su AES. Cioè, ha perso un paio di bit di sicurezza teorica.

La sicurezza effettiva fornita da 1024-RSA è di 80 bit. Rompere RSA riduce a fattorizzare RSA o registri discreti in campi finiti. Il metodo migliore è il serial field set (NFS).

126 bit di sicurezza sono più forti / maggiori di 80 bit di sicurezza.

I livelli di sicurezza efficaci stanno cambiando obiettivo. Con l'avanzare della crittanalisi, anche la perdita di sicurezza teorica. Un esempio di una perdita considerevole è SHA-1. SHA-1 fornisce 80-bit di sicurezza teorica a causa di collisioni e attacchi di compleanno. Ma a causa di attacco HashClash 2011 di Marc Stevens , SHA-1 ha circa 61 bit di sicurezza effettiva.

61 bit di sicurezza non sono sufficienti per mantenere la sicurezza su certificati digitali che richiedono firme a lungo sopravvissute perché un carico di lavoro di 2 61 è alla portata di molti aggressori.

Stranamente, Mozilla's è Ritardo graduale Certificati con 1024 bit RSA Keys blog. Pertanto, sono rischiano di compromettere gli 80 bit di sicurezza su certificati CA longevi. Ma SHA-1, con 61 bit di sicurezza, è OK. Fai i conti ....

Più in generale, sono disponibili tabelle con livelli di sicurezza equivalenti. Puoi trovare le tabelle NIST qui sotto. Altre organizzazioni che pubblicano i criteri includono NESSIE, ECRYPT, ISO / IEC.

risposta data 23.05.2015 - 23:57
fonte

Leggi altre domande sui tag