AES è più lento da crittografare rispetto a MD5?

-8

È questa la giusta interazione di questo diagramma: link

  • AES / CCM

    MiB / Second: 61

    Cicli per byte: 28.6

  • MD5

    MiB / Second: 255

    Cicli per byte: 6.8

Ciò significa anche che MD5 è più facile da decifrare quando si utilizza la stessa password (quindi stessa lunghezza della chiave e forza della chiave).

    
posta user915666 13.06.2012 - 19:50
fonte

2 risposte

4

MD5 è un algoritmo di hashing, un po 'come un checksum del CRC, i dati non sono crittografati, sono generati e quindi irrecuperabili. È infatti veloce da calcolare.

Algoritmo di crittografia, sono un sistema a 2 vie, i dati possono essere crittografati e decrittografati con una chiave valida. Di solito coinvolgono più anelli e spostano quindi gli alghi di checksum, quindi più lenti.

La scelta tra MD5 o AES dipenderà dai tuoi bisogni e requisiti. Ricordatevi che MD5 non è più sicuro e non dovrebbe essere usato. Preferisci SHA-256 invece.

Modifica: da wikipedia ,

NIST's directive that U.S. government agencies must stop uses of SHA-1 after 2010. Currently, the best public attacks break 41 of the 64 rounds of SHA-256 or 46 of the 80 rounds of SHA-512

    
risposta data 13.06.2012 - 20:23
fonte
3

MD5 è una funzione di hash , non una funzione di crittografia. Produce un output di dimensioni fisse (128 bit) indipendentemente dalla dimensione di input. Non è pensato per essere reversibile. Pertanto, non può essere confrontato con AES: cosa fa MD5, AES non può fare, e cosa fa AES, MD5 non può fare.

Una situazione in cui è possibile confrontare in modo significativo le velocità di elaborazione di MD5 e AES è in protocolli in cui gli stessi dati sono entrambi crittografati (ad es. con AES) e coperti da un Message Authentication Code come HMAC, che si basa su una funzione di hash (possibilmente MD5). Uno di questi protocolli è SSL / TLS . In tal caso, possiamo provare a vedere quale tra la crittografia e il MAC utilizza la maggior parte del budget della CPU. Di solito, la crittografia è più costosa dell'hashing, che i numeri che si mostrano. Si noti, tuttavia, che MD5 è noto per avere un certo numero di punti deboli. La funzione di hash standard che si ritiene essere "così strong" come AES è SHA-256 e la velocità di elaborazione SHA-256 non è molto migliore di quella di AES, sulla CPU comunemente utilizzata.

Un'altra situazione è un PRNG . È possibile creare un PRNG da un codice a blocchi (come AES) crittografando i valori successivi di un contatore (questa è chiamata modalità CTR). Puoi anche costruire un PRNG con una funzione di hash di HMAC-i valori successivi di un contatore. In questo caso, questo funziona, per la funzione hash, sulla sua larghezza di banda output , non sulla sua larghezza di banda input e richiede hashing molti messaggi molto piccoli invece di un messaggio grande. Solitamente le funzioni di hash, incluso MD5, risultano essere piuttosto lente quando vengono utilizzate in questo modo.

Questo spiega perché definiamo cifrari a blocchi come AES, invece di usare ovunque una funzione di hash adatta a tutte le dimensioni.

    
risposta data 16.09.2012 - 19:53
fonte

Leggi altre domande sui tag