Answers:
这些是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,通过truecrypt蛇链接,也请阅读该书)。
因此,出于各种原因,Rijndael成为了AES(它是DES(和3DES)的继承者)的AES。
并且,因为它今天在news.ycombinator.com上突然出现,AES的故事:
http://www.moserware.com/2009/09/stick-figure-guide-to-advanced.html
使用TrueCrypt 7.0a,最安全的加密方法是:通过XTS方法使用AES-Twofish-Serpent级联加密。使用Whirlpool哈希算法。(SHA-512在这里排名第二,很值得商......我倾向于Whirlpool,因为SHA-512已经开发出了后继产品,因为担心它基于旧版SHA-1,最重要的是使用非常强的密码。20至30个以上的字符,大写,小写,数字,符号。使用Microsoft的在线密码检查器进行强度测试。您也可以使用密钥文件来进一步保护密码。
我建议将AES-Twofish-Serpent优于Serpent-Twofish-AES,因为您希望最外层的加密(AES将是他们需要打破的第一层)成为业界最标准的加密方法。那是所有人中最努力,最真实,最受考验的。另外,如果有人假设文件是使用AES加密的,则无法看到使用Twofish加密的文件...因此他们做了所有这些工作来破坏AES,只是发现Twofish现在处于阻碍状态。然后在Twofish之后,它们又遇到了蛇,这是它们中最大的野兽(尽管它比AES更少使用/测试,但它的安全裕度仍然比AES高得多)
如果您确实使用密钥文件,我建议让TrueCrypt为您创建3个密钥文件。为它们提供的每种哈希算法创建一个密钥文件。您可能还会添加一些.jpg文件和一些.mp3文件。但是,我将确保每个密钥文件均为只读。
不过,这可能是过大了。
级联密码(AES-Twofish-Serpent等)应该是最安全的。您的数据使用一种算法进行加密,然后使用第二种算法对数据进行加密,然后使用第三种算法对数据进行加密。根据TrueCrypt文档,每种算法使用不同的密钥,每种密钥均来自您的密码短语。
如果在这些密码中的一个(或两个)中发现了漏洞,则您的数据仍将是安全的,因为攻击者仍将无法破解其余密码。
Rijndael之所以赢得AES竞赛,主要是因为它是最快,最容易在硬件中实现的,而不是因为它是最“安全的”。Twofish的和蛇通常被认为是更安全的,但由于它们都非常稳固的,这是一个非常主观的要求。当然,使用多种算法进行加密将更加“安全”,但会进一步降低速度。
同样,它们都是坚如磐石,所以我的建议是选择机器上最快的那个(通常是AES)。
虽然将多个密码级联在一起存在一定的危险,但是Truecrypt似乎会尽力处理它们。它不会在第一个密码的输出中添加任何已知的明文,并且每个密码都使用独立密钥,因此通过将不同算法链接在一起,可以提高安全性。
我会尽量避免使用3DES。阅读Truecrypt页面列出的算法选择后,它甚至没有列出三重DES,因此他们最近可能已删除了它。
可以想象,如果您使用的是密钥文件,则可以使用较短的密码,并且如果您不担心性能下降,则使用AES Twofish和Serpent会对尝试进入加密材料的用户造成很大的麻烦。但也不要忽视,您也可以将一个加密文件放在一个更大的加密文件的内部。这样,您可以“允许”攻击者查看外部容器,并让他们认为他们拥有整个容器。实际上,他们根本没有任何东西。随意在外部文件中放入一些暗淡的东西,但是没有任何实际会引起问题的东西。我认为,大量色情照片将非常适合此帐单,这是某人想要隐藏的东西,因此,您有充分的理由。外部容器并没有显示内部容器甚至存在。将实际材料放入内部容器中。更好的办法是使外部容器“弱”使用足够的密码,并且没有密钥文件。让您的攻击者以为他们破坏了您的加密,耸了耸肩,说:“该死,您是好人,让我死于权利。”
假设使用256位变体(时间复杂度越高,但有各种注意事项),则适用于每种加密算法的最佳公共密码分析:
毫无疑问,3DES是最不安全的,但这并不一定使其不安全(除非通常未公开的后门问题)。但是我会避免。所有其他算法通常被认为是安全的。要确定其中是否有一个故意放置的后门,可能需要斯诺登发布更多文档。老实说,如果前三名中的任何一家确实有后门,那将是绝对的重大启示。鉴于他的记录,我个人很高兴假设它们仍然安全。
2001年,美国国家标准技术研究院(NIST)推出了高级加密标准(AES),并通过反对算法将五名候选人(通过多次候选人会议)入围,以代表该标准。蛇密码就是其中之一,获得了高度安全的kudus,但最终成为Rijndael密码的亚军。尽管这发生在几年前,但它使人对电子数据加密以及性能与安全性之间的权衡有了一个令人着迷的印象。有趣的是,性能赢了!
与其他五个候选者相比,蛇密码具有最高的安全系数3.56,考虑到第二好的密码是Twofish密码,其安全系数为2.67,这是相当不错的。Rijndael-256的安全系数为1.56
https://www.100tb.com/blog/security-performance-serpent-cipher-rijndael/
由于没有已知的针对AES的攻击使暴力破解变得可行(请参阅:https : //en.wikipedia.org/wiki/Advanced_Encryption_Standard#Known_attacks),除非您期望三字母代理机构将其全部计算能力用于下一次攻击 千年来破解您的驱动器,AES是必经之路。TrueCrypt的最新版本及其分支支持AES-NI,在我的Core i7 3770上提供了超过2.5 GB /秒的吞吐量。
您与该域发布的IP地址的连接在大多数浏览器上使用AES加密(尽管CloudFlare拥有浏览器看到的密钥,并在将数据发送到StackExchange服务器之前对其进行解密和重新加密,因此请不要使用TrueCrypt / VeraCrypt / CipherShed密码作为您的StackExchange密码,因为如果说这3个字母的代理机构要破解您的驱动器,他们将在CloudFlare代理服务器上拦截您的密码,并在尝试永无止境的强力手段之前先尝试该密码)。
我建议您将Whirlpool哈希与这些算法一起使用,因为它是最强大的。
对于加密算法,应使用级联。我推荐AES,Twofish,蛇。AES非常薄弱(与其他算法相比,但速度最快),并且是行业标准,因此可以作为外层有效。Twofish甚至更强大,并且在解密AES层之后,将有另一个层(Twofish)更强大。蛇是最强的,这种级联证明是有效的。
一些额外的信息:对于密码,NSA有一个量子计算机,可以非常快速地解密。我不相信NSA(他们设计的AES)。我建议至少使用40个字母,小写和大写字母,数字,符号,并且不包含词典单词或个人信息(出生日期等),并且可以使用密钥文件。如果您有遭受对手威胁的风险,请使用TrueCrypt内置的合理可否认性功能。
Rijndael(当前为AES)是最好的算法。
从https://crypto.stackexchange.com/questions/24307/why-is-aes-unbreakable:
首先,并不是说AES不可破解,只是说目前已知的攻击都没有将AES降低到可行的程度。当前对AES-128的最佳攻击需要2 ^ 126.1次操作,如果我们拥有一台计算机(或群集),其效率比任何当前计算机高几百万倍,并且可以在热力学Landauer极限下运行,则仅需增加234 petajoules即可通过每个键值进行计数。这大约是挪威每年电力消耗的一半。实际上,计算AES回合所需的能量是原来的几倍。
来自维基百科:
Twofish是一个对称密钥块密码,块大小为128位,密钥大小最大为256位。它是“高级加密标准”竞赛的5个决赛入围者之一,但未选择进行标准化。Twofish与较早的分组密码河豚有关。
Twofish的独特功能是使用预先计算的依赖于密钥的S盒以及相对复杂的密钥时间表。n位密钥的一半用作实际的加密密钥,n位密钥的另一半用于修改加密算法(依赖于密钥的S盒)。Twofish借鉴了其他设计的一些元素;例如,SAFER密码族的伪Hadamard变换(PHT)。Twofish具有Feistel结构,如DES。Twofish还采用了最大距离可分离矩阵。
在大多数软件平台上,对于128位密钥,Twofish的运行速度比Rijndael(高级加密标准选择的算法)稍慢,但对于256位密钥,则稍快一些。
来自维基百科:
蛇是对称密钥块密码,在高级加密标准(AES)竞赛中入围,在此之后,它仅次于Rijndael。蛇是由罗斯·安德森(Ross Anderson),伊莱·比厄姆(Eli Biham)和拉斯·努德森(Lars Knudsen)设计的。
与其他AES提交一样,Serpent的块大小为128位,并支持128、192或256位的密钥大小。[2] 密码是在四个32位字的块上运行的32轮替换置换网络。每个回合并行应用八个4位至4位S盒之一,共32次。设计了Serpent,以便可以使用32位分片并行执行所有操作。这样可以最大程度地提高并行度,但也可以使用在DES上执行的大量密码分析工作。
Serpent采取了保守的安全措施,选择了较大的安全余量:设计人员认为16轮足以抵御已知类型的攻击,但指定32轮作为对未来密码分析发现的保证。NIST关于AES竞争的官方报告将Serpent与MARS和Twofish一起具有很高的安全裕度,而RC6和Rijndael(当前为AES)具有足够的安全裕度。在最终投票中,Serpent的否定票数最少,但在总决赛中排名第二,因为Rijndael的票数更高,而决定因素是Rijndael允许更高效的软件实现。
SHA比MDA,Whirpool等要好得多。但是他们找到了打破SHA的方法。SHA-2(HMAC)到了。他们再次找到了打破它的方法。SHA-3(Kakee或类似的东西)来了。但是在TrueCrypt,VeraCrypt,CipherShed或TrueCryptNext中不存在SHA-3。 ;-)