Qual algoritmo TrueCrypt é o mais seguro?

83

Se o desempenho não for motivo de preocupação, qual algoritmo TrueCrypt é o mais seguro de usar?

  • AES
  • Serpente
  • Triple DES
  • Dois peixes
  • AES-Twofish
  • Serpente-Twofish-AES
  • Serpente-AES
  • Serpent-Twofish-AES
  • Serpente-Twofish
Amir Rezaei
fonte
13
Eles são todos seguros, caso contrário, não estariam no produto. Mas use o AES, já que é o padrão.
11556 Ian
13
Eu diria que, a menos que exista uma agência governamental atrás de você, é mais provável que a qualidade da sua senha seja um problema do que o algoritmo de criptografia.
Col
3
Isso é tão esquisito; Eu poderia jurar que o título estava perguntando qual é o mais rápido . ಠ_ ఠ
Synetech

Respostas:

37

Estes são os resultados da votação na rodada final do concurso 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 , vinculado através da serpent truecrypt , leia essa também).

portanto, por várias razões, Rijndael se tornou AES, que é o sucessor do DES (e 3DES).

e, apenas porque apareceu hoje em news.ycombinator.com, a história da AES:

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

akira
fonte
62

Usando o TrueCrypt 7.0a, o método mais seguro de criptografia é: Use a criptografia em cascata AES-Twofish-Serpent com o método XTS. Use o algoritmo de hash Whirlpool. (O SHA-512 é um 2º lugar muito próximo aqui ... é discutível ... Estou inclinado para a Whirlpool porque o SHA-512 já está tendo um sucessor desenvolvido por causa do medo de que seja baseado em um SHA-1 mais antigo O mais importante é usar uma senha MUITO forte. 20 a 30 caracteres, maiúsculas, minúsculas, números, símbolos. Use o verificador de senhas online da Microsoft para um teste de força. Você também pode usar Keyfiles para proteger ainda mais sua senha.

Eu recomendo o AES-Twofish-Serpent sobre o Serpent-Twofish-AES porque você deseja que a criptografia mais externa (o AES seja a primeira camada que eles precisam quebrar) seja o mais padrão do setor. Esse é o mais experimentado e verdadeiro e o mais testado de todos eles. Além disso, se alguém assume que um arquivo está criptografado com o AES, não há como vê-lo criptografado com o Twofish ... então eles fazem todo esse trabalho para quebrar o AES, apenas para descobrir que o Twofish está no seu caminho agora. E depois de Twofish, eles se deparam com Serpent, que é o maior animal de todos (embora seja menos usado / testado que o AES, ainda tem uma margem de segurança muito maior que o AES)

Se você usa Keyfiles, eu recomendo que o TrueCrypt crie 3 keyfiles para você. Crie um arquivo de chave para cada algoritmo de hash que eles fornecem. Você também pode adicionar alguns arquivos .jpg e alguns .mp3. Eu garantiria que cada arquivo-chave fosse somente leitura.

Isso provavelmente é um exagero.

Charles Hepburn II
fonte
2
Você diz que usa de 20 a 30 caracteres, mas isso não é um exagero? Mesmo 10 caracteres minúsculos seriam 26 ^ 10 = 141.167.095.653.376 combinações (4 milhões de anos com uma verificação por segundo). Mais do que bom o suficiente, certamente?
Dan W
12
@ Dan W: Com uma verificação por segundo, certamente. No entanto, embora os métodos de hash variem muito no desempenho, o hardware de consumo fica muito mais próximo do teste de bilhões de senhas por segundo. Sua senha minúscula de dez caracteres seria quebrada em questão de horas.
Marcks Thomas
7
Sua lógica para a ordem em cascata não faz nenhum sentido. Um invasor precisará romper cada camada (cada uma usando uma chave independente), independentemente de o AES ser o primeiro ou o último.
Jjlin # 21/13
15

As cifras em cascata (AES-Twofish-Serpent, etc.) devem ser as mais seguras. Seus dados são criptografados com um algoritmo e, em seguida, a saída é criptografada com o segundo algoritmo, cuja saída é criptografada com o terceiro algoritmo. De acordo com a documentação do TrueCrypt , cada algoritmo usa uma chave diferente, cada uma derivada da sua senha.

Se uma vulnerabilidade for encontrada em uma (ou duas) dessas cifras, seus dados ainda deverão estar seguros, pois um invasor ainda não conseguirá quebrar as cifras restantes.

Chris Acheson
fonte
8
Gostaria de acrescentar que, se apenas uma cifra for escolhida, o Serpent provavelmente será o mais seguro, mas será significativamente mais lento que o AES (observe que a seleção do governo do Advanced Encryption Standard envolveu desempenho, não apenas segurança).
bwDraco
5

AES-Twofish-Serpent ou Serpent-Twofish-AES. Mas AES regular é suficiente.

Fantius
fonte
5

Rijndael venceu a competição AES principalmente por ser a mais rápida e fácil de implementar em hardware, não por ser a mais "segura". Twofish e Serpent são geralmente considerados mais seguros, mas como todos são extremamente sólidos, essa é uma afirmação muito subjetiva. E, é claro, a criptografia com vários algoritmos será ainda mais "segura", mas reduzirá a velocidade ainda mais.

Novamente, eles são todos sólidos, então meu conselho seria seguir o que for mais rápido na sua máquina (geralmente AES).

BlueRaja - Danny Pflughoeft
fonte
1

Eu li que encadear algoritmos juntos pode resultar em segurança mais fraca devido ao algoritmo usado para seguir um ao outro.

Além disso, a eficiência e a velocidade sofrerão um grande impacto se você usar uma das cifras combinadas.

Eu recomendaria Rijndael (AES) ou Serpent e se você quiser que ele seja seguro: o elemento mais crucial é a chave; portanto, faça uma chave muito longa com pelo menos um de cada conjunto de caracteres maiúsculos e minúsculos, números e símbolos.

funkotron
fonte
1

Embora existam alguns perigos na cascata de várias cifras, o Truecrypt parece lidar com elas da melhor maneira possível. Ele não adiciona nenhum texto simples conhecido à saída da primeira cifra e usa chaves independentes para cada uma delas. Ao encadear os diferentes algoritmos, deve aumentar a segurança.

Eu deixaria claro o 3DES. Depois de ler a página Truecrypt, listando as opções do algoritmo, ela nem lista os DES triplos, para que eles possam ter removido recentemente.

pipTheGeek
fonte
3
Para aqueles interessados ​​em uma discussão mais aprofundada dos "perigos" em cascata de várias cifras, consulte este tópico: crypto.stackexchange.com/questions/6486/…
Tiago
Uma das principais responsabilidades do 3DES seria que ele é dolorosamente lento em comparação com cifras mais modernas, oferecendo, na melhor das hipóteses, segurança semelhante. (O 3DES pode obter 112 bits de segurança devido a ataques intermediários, enquanto o AES-128 atualmente o aproxima de 128 bits de segurança com uma taxa de transferência muito melhor.) Além disso, o uso de blocos de 64 bits pela DES é um responsabilidade devido à difusão limitada possível com blocos menores.
a CVn 31/03
0

É possível usar uma senha curta, se você estiver usando arquivos-chave, e se não estiver preocupado com os hits do desempenho, o uso do AES Twofish e Serpent causará muita dor de cabeça para aqueles que tentam acessar o material criptografado. Mas também não esqueça que você também pode pegar um arquivo criptografado e colocá-lo no interior de um arquivo criptografado maior. Dessa forma, você pode "permitir" que os atacantes olhem para o contêiner externo e pensem que possuem o contêiner inteiro. Na verdade, eles não têm nada. Sinta-se à vontade para colocar algo um pouco obscuro no arquivo externo, mas nada que realmente lhe cause problemas. Acho que várias fotos pornográficas se encaixariam bem nessa conta. Aqui está algo que alguém gostaria de esconder e, como tal, você tem um bom motivo. O contêiner externo não revela que o contêiner interno existe. Coloque seu material real dentro do recipiente interno. Melhor ainda é tornar o contêiner externo "fraco" com uma senha insuficiente e sem arquivo de chaves. Deixe seus invasores pensarem que eles quebraram sua criptografia, e encolhem seus ombros e digam: "Porra, você é bom, você me deixou completamente morto".

Gene Abshire
fonte
0

Melhor análise de criptografia pública para cada uma, assumindo variantes de 256 bits (maior complexidade de tempo é melhor, mas todos os tipos de advertências):

  • Rijndael: 2 ^ 254,4 de complexidade temporal (ignorando os ataques-chave relacionados que não estariam em questão aqui)
  • Serpente: 12 rodadas de 32, 2 ^ 228,8 de complexidade temporal (mas requer 2 ^ 118 textos simples conhecidos)
  • Twofish: 6 rodadas de 16 (mas requer 2 ^ 51 textos simples escolhidos)
  • 3DES: 2 ^ 118 (com 2 ^ 32 textos simples conhecidos; o 3DES usa 168 bits, portanto a força bruta é 2 ^ 168 em vez de 2 ^ 256)

Sem dúvida, o 3DES é o menos seguro, mas isso não necessariamente o torna inseguro (exceto a preocupação usual não publicada de backdoor). No entanto, eu evitaria isso. Todos os outros algoritmos são geralmente considerados seguros. Determinar a presença de um backdoor intencionalmente colocado em qualquer um deles provavelmente exige que a Snowden libere mais documentos. E honestamente, se algum dos três principais tivesse uma porta dos fundos, isso seria uma revelação absoluta. Dado seu histórico, estou feliz em presumir que eles ainda estão seguros.

Bob Aman
fonte
O 3DES com três chaves independentes (168 bits de material da chave) é vulnerável a um ataque meet-in-the-middle, o que significa que a segurança efetiva é a de uma chave de 112 bits. pt.wikipedia.org/wiki/Triple_DES#Security
um CV em 31/03
0

Em 2001, o Instituto Nacional de Padrões e Tecnologia (NIST) lançou o Advanced Encryption Standard (AES) e selecionou cinco candidatos (através de várias conferências de candidatos) com algoritmos opostos para representar o padrão. A cifra Serpent era uma delas, ganhando kudus de alta segurança, mas eventualmente se tornando uma vice-campeã, para a cifra de Rijndael. Embora isso tenha ocorrido há alguns anos, ele fornece uma visão fascinante da criptografia eletrônica de dados e das vantagens e desvantagens entre desempenho e segurança. Curiosamente, o desempenho ganhou!

Em comparação com os outros cinco candidatos, a cifra Serpent apresentava o maior fator de segurança 3,56, o que era bastante bom, considerando que o próximo melhor era a cifra Twofish com um fator de segurança de 2,67. Rijndael-256 teve um fator de segurança de 1,56

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

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

skan
fonte
-1

Como não há ataques conhecidos contra o AES que viabilizem a força bruta (ref: https://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Known_attacks ), a menos que você espere que agências de três letras dediquem todo o seu poder computacional para os próximos milênio para quebrar sua unidade, a AES é o caminho a percorrer. A última versão do TrueCrypt e seus garfos suportam o AES-NI, que no meu Core i7 3770 fornece uma taxa de transferência superior a 2,5 GB / s.

Sua conexão com o endereço IP anunciado por este domínio usa criptografia AES na maioria dos navegadores (embora o CloudFlare mantenha a chave vista pelo seu navegador e descriptografe e criptografe novamente seus dados antes de enviá-los aos servidores StackExchange, portanto, não use seu TrueCrypt / VeraCrypt / CipherShed para sua senha do StackExchange, porque se as agências de três letras decifrassem sua unidade, elas interceptariam sua senha no proxy CloudFlare e tentariam isso primeiro antes de tentar a força bruta que nunca trabalha).

William
fonte
-2

Eu recomendo que você use o hash Whirlpool com esses algoritmos, pois é o mais forte.

Para algoritmos de criptografia, você deve usar uma cascata. Eu recomendo AES, Twofish, Serpent. O AES é bastante fraco (comparado a outros algoritmos, mas é o mais rápido) e é o padrão da indústria, portanto, será eficaz como uma camada externa. O Twofish é ainda mais forte e após descriptografar a camada AES, haverá outra camada (Twofish) que é ainda mais forte. A serpente é a mais forte e essa cascata se mostra eficaz.

Algumas informações extras: para senhas, a NSA possui um computador quântico que pode descriptografar muito rapidamente. Eu não confiaria na NSA (eles criaram o AES). Eu recomendaria um mínimo de 40 letras, minúsculas e maiúsculas, números, símbolos e nenhuma palavra do dicionário ou informações pessoais (datas de nascimento etc.) e você poderia usar arquivos-chave. Se você estiver em risco de um adversário, use os recursos plausíveis de negação incorporados ao TrueCrypt.

UndefeatedWarrior786
fonte
Não existem ataques conhecidos da Computação Quântica no AES. Os computadores quânticos não são mais rápidos que os nossos computadores binários. Eles são apenas diferentes.
Mark Lopez
A NSA não criou o AES. A AES foi projetada por um par de criptografistas belgas sob o nome Rijndael, revisada (e fortemente explorada) por criptografistas em todo o mundo durante a competição NIST AES e padronizada pelo NIST como AES depois de vencer a competição com base em um conjunto de critérios conhecidos publicamente . Se você vai se envolver em chapas de papel-alumínio, pelo menos, acerte seus fatos. Além disso, o AES não tem nada a ver com senhas.
a CVn 31/03
Quanto à negação plausível, há um argumento convincente por que isso não funcionará na prática nas Perguntas frequentes sobre configuração de criptografia do Linux , seção 5.18 "E a negação plausível?" que também toca na seção 5.2 "O LUKS é inseguro? Todos podem ver que tenho dados criptografados!". De certa forma, é uma variação do xkcd.com/538 ( sim , um uso legítimo para um link xkcd).
a CVn
-2

AES

Rijndael (atualmente o AES) é o melhor algoritmo.

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

Primeiro, não se diz que o AES é inquebrável, apenas que nenhum dos ataques atualmente conhecidos reduz o custo computacional a um ponto em que é viável. O melhor ataque atual ao AES-128 leva 2 ^ 126.1 operações, se tivéssemos um computador (ou cluster) vários milhões de vezes mais eficiente do que qualquer computador atual e pudéssemos operar no limite termodinâmico de Landauer, seriam necessários 234 petajoules apenas para incrementar um contador através de cada valor-chave. Isso representa cerca da metade do consumo anual de eletricidade da Noruega. Na verdade, calcular uma rodada AES leva várias vezes mais energia.

Dois peixes

Da Wikipedia :

Twofish é uma cifra de bloco de chaves simétrica com um tamanho de bloco de 128 bits e tamanhos de chave de até 256 bits. Foi um dos cinco finalistas do concurso Advanced Encryption Standard, mas não foi selecionado para padronização. O Twofish está relacionado à cifra de bloco anterior Blowfish.

As características distintivas do Twofish são o uso de S-boxes pré-computadas e dependentes de chave e uma programação de chaves relativamente complexa. Metade de uma chave de n bits é usada como a chave de criptografia real e a outra metade é usada para modificar o algoritmo de criptografia (caixas S dependentes da chave). O Twofish empresta alguns elementos de outros designs; por exemplo, a transformação pseudo-Hadamard (PHT) da família de cifras SAFER. Twofish tem uma estrutura Feistel como DES. O Twofish também emprega uma matriz separável por distância máxima.

Na maioria das plataformas de software, o Twofish era um pouco mais lento que o Rijndael (o algoritmo escolhido para o Advanced Encryption Standard) para chaves de 128 bits, mas é um pouco mais rápido para chaves de 256 bits.

Serpente

Da Wikipedia :

Serpent é uma cifra de bloco de chave simétrica que foi finalista no concurso Advanced Encryption Standard (AES), onde ficou em segundo lugar com Rijndael. Serpent foi projetada por Ross Anderson, Eli Biham e Lars Knudsen.

Como outros envios de AES, o Serpent tem um tamanho de bloco de 128 bits e suporta um tamanho de chave de 128, 192 ou 256 bits. [2] A cifra é uma rede de permutação-substituição de 32 rondas que opera em um bloco de quatro palavras de 32 bits. Cada rodada aplica uma das oito caixas S de 4 a 4 bits 32 vezes em paralelo. O Serpent foi projetado para que todas as operações possam ser executadas em paralelo, usando fatias de 32 bits. Isso maximiza o paralelismo, mas também permite o uso do extenso trabalho de análise de criptografia realizado no DES.

Serpent adotou uma abordagem conservadora de segurança, optando por uma grande margem de segurança: os projetistas consideraram 16 rodadas suficientes contra tipos conhecidos de ataque, mas especificaram 32 rodadas como um seguro contra futuras descobertas em análises criptográficas. O relatório oficial do NIST sobre a competição na AES classificou a Serpent como tendo uma alta margem de segurança junto com o MARS e o Twofish, em contraste com a margem de segurança adequada do RC6 e Rijndael (atualmente AES). Na votação final, Serpent obteve o menor número de votos negativos entre os finalistas, mas obteve o segundo lugar no geral porque Rijndael teve votos substancialmente mais positivos, o fator decisivo é que Rijndael permitiu uma implementação de software muito mais eficiente.

O SHA é muito melhor que o MDA, o Whirpool etc. Mas eles encontraram uma maneira de quebrar o SHA. Aí vem o SHA-2 (HMAC). Mais uma vez, eles encontraram uma maneira de quebrá-lo. Aí vem o SHA-3 (Kakee ou algo parecido). Mas no TrueCrypt, VeraCrypt, CipherShed ou TrueCryptNext não existem SHA-3 .--------------------------- Fonte: Qualquer lugar na minha memória ;-)

AES-Twofish-Serpent + SHA-512 = MELHOR ALGORITMO E HASH PARA TrueCrypt E OUTROS.

Gigabyte
fonte
-3

Depois de uma pesquisa rápida, eu diria AES 256 bits.

Eu evitaria Triple AES e Triple blowfish. A execução do mesmo algoritmo várias vezes pode resultar em menos segurança do que usar o algoritmo original uma vez.

fonte

gulbrandr
fonte
1
Parece crível como especulação, mas o Triple DES é certamente aprimorado pelas múltiplas passagens. (A menos que o designer da implementação subjacente cometa um erro e faça "EK2 (DK1 (EK1 (texto sem formatação)))" como Simon Singh fez em seu desafio de criptografia: P)
RJFalconer
5
1) Sua fonte é uma piada. Uma postagem aleatória no fórum. 2) Não há razão para acreditar que a criptografia tripla com chaves diferentes enfraquecerá a criptografia.
CodesInChaos