Quale algoritmo TrueCrypt è il più sicuro?


83

Se le prestazioni non destano preoccupazione, quale algoritmo TrueCrypt è il più sicuro da usare?

  • AES
  • Serpente
  • Triple DES
  • Due pesci
  • AES-Twofish
  • AES-Twofish-Serpent
  • Serpente-AES
  • Serpent-Twofish-AES
  • Twofish-Serpent

13
Sono tutti sicuri, altrimenti non sarebbero nel prodotto. Ma usa AES, poiché è lo standard.
Ian Boyd,

13
Direi che a meno che non ci sia un'agenzia governativa dopo di te, la qualità della tua password è più probabile che sia un problema rispetto all'algoritmo di crittografia.
Col

3
È così strano; Avrei potuto giurare che il titolo chiedesse qual è il più veloce . ಠ_ ఠ
Synetech,

Risposte:


37

questi sono i risultati della votazione nella fase finale del concorso AES:

Rijndael 86-10 = 76
Serpent 59-7   = 52
Twofish 31-21 = 10
RC6 23-37 = -14
MARS 13-83 = -70 

( http://csrc.nist.gov/archive/aes/round2/comments/20000523-msmid-2.pdf , collegato tramite serpent TrueCrypt , leggi anche quello).

così, per una serie di motivi, Rijndael è diventato AES, che è il successore di DES (e 3DES).

e, proprio perché è spuntato oggi su news.ycombinator.com, la storia di AES:

http://www.moserware.com/2009/09/stick-figure-guide-to-advanced.html


62

Utilizzando TrueCrypt 7.0a, il metodo di crittografia più sicuro è: utilizzare la crittografia in cascata AES-Twofish-Serpent con il metodo XTS. Utilizzare l'algoritmo di hash Whirlpool. (SHA-512 è un secondo posto molto vicino qui ... è discutibile ... Mi sto sporgendo verso Whirlpool perché SHA-512 sta già sviluppando un successore a causa dei timori che si basa su un SHA-1 più vecchio che ha è stato compromesso). PIÙ IMPORTANTE è usare una password MOLTO sicura. Da 20 a 30+ caratteri, maiuscoli, minuscoli, numeri, simboli. Utilizzare il controllo password online di Microsoft per un test di resistenza. Puoi anche usare i Keyfile per proteggere ulteriormente la tua password.

Raccomando AES-Twofish-Serpent rispetto a Serpent-Twofish-AES perché si desidera che la crittografia più esterna (AES sarà il primo livello che devono rompere) per essere il più standard del settore. Quello è il più provato e vero e il più testato di tutti. Inoltre, se qualcuno presume che un file sia crittografato con AES, non c'è modo di vedere che è crittografato con Twofish ... quindi fanno tutto questo lavoro per rompere l'AES, solo per scoprire che Twofish si mette in mezzo ora. E poi di nuovo dopo Twofish si imbattono in Serpent, che è la bestia più grande di tutte (anche se è meno usata / testata di AES, ha ancora un margine di sicurezza molto più alto di AES)

Se usi Keyfile, consiglierei a TrueCrypt di creare 3 keyfile per te. Crea un file di chiavi per ogni algoritmo di hash che forniscono. Puoi anche aggiungere alcuni file .jpg e alcuni file .mp3. Mi assicurerei comunque di rendere di sola lettura ogni file di chiavi.

Questo è probabilmente eccessivo però.


2
Dici di usare 20-30 caratteri, ma non è eccessivo? Anche 10 caratteri minuscoli sarebbero 26 ^ 10 = 141.167.095.653.376 combinazioni (4 milioni di anni a un controllo al secondo). Più che abbastanza sicuramente sicuramente?
Dan W,

12
@Dan W: A un controllo al secondo, sicuramente. Tuttavia, anche se i metodi di hashing variano molto nelle prestazioni, l'hardware di livello consumer si avvicina molto di più al test di miliardi di password al secondo. La tua password minuscola di dieci caratteri verrebbe violata nel giro di poche ore.
Marcks Thomas,

7
La tua logica per l'ordine in cascata non ha alcun senso. Un attaccante dovrà superare ogni livello (ognuno usando una chiave indipendente), indipendentemente dal fatto che AES sia il primo o l'ultimo.
jjlin,

15

Le cifre in cascata (AES-Twofish-Serpent, ecc.) Dovrebbero essere le più sicure. I tuoi dati vengono crittografati con un algoritmo, quindi l'output da esso viene crittografato con il secondo algoritmo, il cui output viene crittografato con il terzo algoritmo. Secondo la documentazione TrueCrypt , ogni algoritmo utilizza una chiave diversa, ciascuna derivata dalla passphrase.

Se viene rilevata una vulnerabilità in una (o due) di queste cifre, i tuoi dati dovrebbero essere ancora sicuri, poiché un utente malintenzionato non sarebbe ancora in grado di violare le cifre rimanenti.


8
Vorrei aggiungere che se si sceglie un solo codice, è probabile che Serpent sia il più sicuro, ma è significativamente più lento di AES (si noti che la selezione del governo dello standard di crittografia avanzata ha comportato prestazioni, non solo sicurezza).
bwDraco,

5

O AES-Twofish-Serpent o Serpent-Twofish-AES. Ma AES regolare è sufficiente.


5

Rijndael ha vinto il concorso AES principalmente perché è il più veloce e facile da implementare nell'hardware, non perché è il più "sicuro". Twofish e Serpent sono generalmente considerati più sicuri, ma dal momento che sono tutti estremamente solidi, è un'affermazione molto soggettiva. E, naturalmente, la crittografia con più algoritmi sarà ancora più "sicura", ma ridurrà ulteriormente la velocità.

Ancora una volta, sono tutti solidi, quindi il mio consiglio sarebbe di andare con quello che è il più veloce sulla tua macchina (di solito AES).


1

Ho letto che concatenare gli algoritmi insieme può comportare una sicurezza più debole a causa dell'algoritmo utilizzato per seguire l'uno con l'altro.

Inoltre, l'efficienza e la velocità avranno un grande successo se si utilizza una delle cifre combinate.

Consiglierei Rijndael (AES) o Serpent e se vuoi che sia sicuro: l'elemento più cruciale è la chiave, quindi crea una chiave molto lunga con almeno uno di ogni set di caratteri maiuscoli e minuscoli, numeri e simboli.


1

Sebbene ci siano alcuni pericoli nel mettere insieme a cascata più cifre, Truecrypt sembra gestirle nel miglior modo possibile. Non aggiunge alcun testo normale all'output del primo codice e utilizza chiavi indipendenti per ciascuno di essi, quindi concatenando i diversi algoritmi dovrebbe aumentare la sicurezza.

Tuttavia, vorrei liberarmi di 3DES. Avendo letto la pagina Truecrypt che elenca le scelte dell'algoritmo, non elenca nemmeno il triplo DES, quindi potrebbero averlo rimosso di recente.


3
Per coloro che sono interessati a una discussione più approfondita dei "pericoli" in cascata a più cifre, consulta questo argomento: crypto.stackexchange.com/questions/6486/…
Tiago

Una delle maggiori responsabilità di 3DES sarebbe che è dolorosamente lento rispetto a cifre più moderne, offrendo al massimo una sicurezza simile. (3DES può portarti a 112 bit di sicurezza a causa di un attacco intermedio, mentre AES-128 attualmente ti porta abbastanza vicino a 128 bit di sicurezza con un throughput molto migliore.) Inoltre, l'uso di DES di blocchi a 64 bit è un responsabilità dovuta alla diffusione limitata possibile con blocchi più piccoli.
un CVn

0

È possibile utilizzare una password breve se si utilizzano file di chiavi e, se non si è preoccupati dei risultati delle prestazioni, l'uso di AES Twofish e Serpent causerà molto mal di testa a coloro che cercano di accedere al materiale crittografato. Ma non dimenticare che puoi anche prendere un file crittografato e posizionarlo all'interno di un file crittografato più grande. In questo modo, puoi "consentire" ai tuoi aggressori di guardare il container esterno e far loro credere di avere l'intero container. In realtà, non hanno nulla. Sentiti libero di inserire qualcosa di leggermente ombreggiato nel file esterno, ma nulla che possa effettivamente causare problemi. Penso che una serie di foto pornografiche si adatterebbe bene a questo disegno di legge, ecco qualcosa che qualcuno vorrebbe nascondere e, come tale, hai una buona ragione. Il contenitore esterno non rivela nemmeno l'esistenza del contenitore interno. Posiziona il tuo materiale reale all'interno del contenitore interno. Ancora meglio è rendere il contenitore esterno "debole" con una password insufficiente e nessun file di chiavi. Lascia che i tuoi aggressori pensino di aver violato la tua crittografia, scrollando le spalle e dicendo: "Accidenti, sei bravo, mi hai fatto morire per i diritti".


0

La migliore crittoanalisi pubblica per ciascuno, assumendo varianti a 256 bit (maggiore complessità temporale è migliore, ma tutti i tipi di avvertenze):

  • Rijndael: 2 ^ 254.4 complessità temporale (ignorando gli attacchi chiave correlati che non sarebbero in discussione qui)
  • Serpente: 12 round di 32, complessità di tempo 2 ^ 228,8 (ma richiede 2 ^ 118 testi in chiaro conosciuti)
  • Twofish: 6 round di 16 (ma richiede 2 ^ 51 testi scelti scelti)
  • 3DES: 2 ^ 118 (con 2 ^ 32 noti plaintex; nota, 3DES usa 168 bit, quindi la forza bruta è 2 ^ 168 anziché 2 ^ 256)

Indubbiamente, 3DES è il meno sicuro, ma ciò non lo rende necessariamente insicuro (escluso il solito problema di backdoor inedito). Tuttavia lo eviterei. Tutti gli altri algoritmi sono generalmente considerati sicuri. Determinare la presenza di una backdoor posizionata intenzionalmente in ognuna di esse probabilmente richiede a Snowden di rilasciare più documenti. E onestamente, se qualcuno dei primi 3 avesse una backdoor, sarebbe una rivelazione assoluta di bomba. Dato il suo curriculum, sono personalmente felice di presumere che siano ancora sicuri.


3DES con tre chiavi indipendenti (168 bit di materiale chiave) è vulnerabile a un attacco "meet-in-the-middle", il che significa che la sicurezza effettiva è quella di una chiave a 112 bit. it.wikipedia.org/wiki/Triple_DES#Security
un CVn

0

Nel 2001 il National Institute of Standards and Technology (NIST) ha lanciato l'Advanced Encryption Standard (AES) e selezionato cinque candidati (attraverso più conferenze candidate) con algoritmi opposti per rappresentare lo standard. Il codice Serpent era uno di questi, ottenendo i kudus di alta sicurezza, ma alla fine diventando un secondo classificato, per il codice Rijndael. Mentre ciò è avvenuto alcuni anni fa, offre uno sguardo affascinante sulla crittografia dei dati elettronici e sui compromessi tra prestazioni e sicurezza. È interessante notare che la prestazione ha vinto!

Rispetto agli altri cinque candidati, il codice Serpent ha il più alto fattore di sicurezza 3,56, il che è stato abbastanza buono considerando il fatto che il successivo migliore era il codice Twofish con un fattore di sicurezza di 2,67. Rijndael-256 aveva un fattore di sicurezza di 1,56

https://www.100tb.com/blog/security-performance-serpent-cipher-rijndael/

https://veracrypt.codeplex.com/wikipage?title=Serpent


-1

Dal momento che non ci sono attacchi noti contro AES che rendono fattibile la forza bruta (rif: https://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Known_attacks ), a meno che non ti aspetti che le agenzie di 3 lettere dedichino tutta la loro potenza di calcolo per il prossimo millennio per decifrare il tuo disco, AES è la strada da percorrere. L'ultima versione di TrueCrypt e le sue forcelle supportano AES-NI, che sul mio Core i7 3770 offre un throughput di oltre 2,5 GB / sec.

La tua connessione all'indirizzo IP pubblicizzato da questo dominio utilizza la crittografia AES sulla maggior parte dei browser (anche se CloudFlare detiene la chiave vista dal tuo browser, decodifica e ricodifica i tuoi dati prima di inviarli ai server StackExchange, quindi non utilizzare TrueCrypt / VeraCrypt / CipherShed password per la password StackExchange perché se dette agenzie di 3 lettere dovessero rompere il disco rigido, intercetterebbero la tua password nel proxy CloudFlare e ci proverebbero molto prima di tentare la forza bruta che non ha mai funzionato).


-2

Ti consiglio di usare l'hashtag Whirlpool con questi algoritmi in quanto è il più potente.

Per gli algoritmi di crittografia, è necessario utilizzare una cascata. Consiglio AES, Twofish, Serpent. AES è piuttosto debole (rispetto ad altri algoritmi ma è il più veloce) ed è lo standard industriale quindi sarà efficace come strato esterno. Twofish è ancora più forte e dopo aver decrittografato il livello AES, ci sarà un altro livello (Twofish) che è ancora più forte. Il serpente è il più forte e questa cascata si rivela efficace.

Alcune informazioni extra: per le password, l'NSA ha un computer quantistico che può decodificare molto rapidamente. Non mi fiderei della NSA (hanno progettato AES). Vorrei raccomandare un minimo di 40 lettere, lettere minuscole e maiuscole, numeri, simboli e nessuna parola del dizionario o informazioni personali (date di nascita, ecc.) E si potrebbero usare file di chiavi. Se sei a rischio per un avversario, usa le plausibili funzionalità di negabilità integrate in TrueCrypt.


Non sono noti attacchi di calcolo quantistico noti su AES. I computer quantistici non sono più veloci dei nostri computer binari. Sono solo diversi.
Mark Lopez,

NSA non ha progettato AES. AES è stato progettato da una coppia di crittografi belgi con il nome Rijndael, rivisto (e pesantemente battuto su) da crittografi di tutto il mondo durante il concorso AES NIST e standardizzato da NIST come AES dopo aver vinto la competizione sulla base di una serie di criteri molto noti al pubblico . Se hai intenzione di dedicarti all'incantesimo di carta stagnola, per favore almeno fai i fatti corretti. Inoltre, AES non ha nulla a che fare con le password.
un CVn

Per quanto riguarda la negabilità plausibile, c'è un argomento convincente sul perché ciò non funzionerà in pratica nelle FAQ sul cryptsetup di Linux , sezione 5.18 "Che dire della negabilità plausibile?" che lo tocca anche nella sezione 5.2 "LUKS non è sicuro? Tutti possono vedere che ho dei dati crittografati!". In un certo senso, è una variante di xkcd.com/538 (yay, un uso legittimo per un collegamento xkcd).
un CVn

-2

AES

Rijndael (attualmente THE AES) è l'algoritmo migliore.

Da https://crypto.stackexchange.com/questions/24307/why-is-aes-unbreakable :

Innanzitutto, non si dice che AES sia infrangibile, ma semplicemente che nessuno degli attacchi attualmente conosciuti riduce il costo computazionale a un punto in cui è fattibile. L'attuale miglior attacco su AES-128 richiede 2 ^ 126.1 operazioni, se avessimo un computer (o cluster) parecchi milioni di volte più efficiente di qualsiasi altro computer corrente e potessimo operare al limite termodinamico di Landauer, occorrerebbero 234 petajoule solo per incrementare un contrastare ogni valore chiave. Questa è circa la metà del consumo annuale di elettricità della Norvegia. In realtà, calcolare un round AES richiede molte volte più energia.

Due pesci

Da Wikipedia :

Twofish è un codice a blocchi di chiavi simmetrico con una dimensione del blocco di 128 bit e dimensioni della chiave fino a 256 bit. Era uno dei cinque finalisti del concorso Advanced Encryption Standard, ma non è stato selezionato per la standardizzazione. Twofish è correlato alla cifra di blocco precedente Blowfish.

Le caratteristiche distintive di Twofish sono l'uso di S-box pre-calcolate dipendenti dalla chiave e una pianificazione delle chiavi relativamente complessa. La metà di una chiave n-bit viene utilizzata come chiave di crittografia effettiva e l'altra metà della chiave n-bit viene utilizzata per modificare l'algoritmo di crittografia (caselle S dipendenti dalla chiave). Twofish prende in prestito alcuni elementi da altri disegni; per esempio, la trasformazione pseudo-Hadamard (PHT) della famiglia di cifre SAFER. Twofish ha una struttura Feistel come DES. Twofish impiega anche una matrice separabile dalla distanza massima.

Sulla maggior parte delle piattaforme software Twofish era leggermente più lento di Rijndael (l'algoritmo scelto per Advanced Encryption Standard) per le chiavi a 128 bit, ma è leggermente più veloce per le chiavi a 256 bit.

Serpente

Da Wikipedia :

Serpent è un codice simmetrico a blocchi di chiavi che è stato finalista nel concorso Advanced Encryption Standard (AES), dove è stato classificato secondo a Rijndael. Serpent è stato progettato da Ross Anderson, Eli Biham e Lars Knudsen.

Come altri invii AES, Serpent ha una dimensione di blocco di 128 bit e supporta una dimensione di chiave di 128, 192 o 256 bit. [2] Il codice è una rete di permutazione di sostituzione di 32 round che opera su un blocco di quattro parole a 32 bit. Ogni round applica una delle otto scatole S da 4 bit a 4 bit 32 volte in parallelo. Serpent è stato progettato in modo che tutte le operazioni possano essere eseguite in parallelo, utilizzando sezioni a 32 bit. Ciò massimizza il parallelismo, ma consente anche l'uso dell'ampio lavoro di crittoanalisi eseguito su DES.

Serpent ha adottato un approccio conservativo alla sicurezza, optando per un ampio margine di sicurezza: i progettisti hanno ritenuto che 16 round fossero sufficienti contro i tipi di attacco noti, ma hanno specificato 32 round come assicurazione contro scoperte future nella crittoanalisi. Il rapporto ufficiale NIST sulla concorrenza di AES ha classificato Serpent con un elevato margine di sicurezza insieme a MARS e Twofish, in contrasto con il margine di sicurezza adeguato di RC6 e Rijndael (attualmente AES). Nel voto finale, Serpent ha ottenuto il minor numero di voti negativi tra i finalisti, ma ha ottenuto il secondo posto in generale perché Rijndael ha ottenuto voti sostanzialmente più positivi, il fattore decisivo è che Rijndael ha permesso un'implementazione del software molto più efficiente.

SHA è molto meglio di MDA, Whirpool, ecc. Ma hanno trovato un modo per interrompere SHA. Ecco che arriva SHA-2 (HMAC). Ancora una volta hanno trovato il modo di romperlo. Ecco che arriva SHA-3 (Kakee o qualcosa del genere). Ma in TrueCrypt, VeraCrypt, CipherShed o TrueCryptNext non esistono SHA-3 .--------------------------- Fonte: qualsiasi posto nella mia memoria ;-)

AES-Twofish-Serpent + SHA-512 = MIGLIOR ALGORITMO E HASH SU TrueCrypt E ALTRI.


-3

Dopo una rapida ricerca, direi AES 256 bits.

Eviterei Triple AES e Triple Blowfish. L'esecuzione dello stesso algoritmo più volte può comportare una minore sicurezza rispetto all'utilizzo dell'algoritmo originale una volta.

fonte


1
Sembra credibile come speculazione, ma Triple DES è sicuramente migliorato dai passaggi multipli. (A meno che il progettista dell'implementazione sottostante non faccia un errore e faccia "EK2 (DK1 (EK1 (testo in chiaro)))" come fece Simon Singh nella sua sfida di
cifratura

5
1) La tua fonte è uno scherzo. Un post sul forum casuale. 2) Non c'è motivo di credere che la crittografia tripla con chiavi diverse indebolirà la crittografia.
CodesInChaos,
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.