哪种TrueCrypt算法最安全?
如果不担心性能,那么使用哪种TrueCrypt算法是最安全的?
- AES
- Serpent
- Triple DES
- Twofish
- AES-Twofish
- AES-Twofish-Serpent
- Serpent-AES
- Serpent-Twofish-AES
- Twofish-Serpent 。
如果不担心性能,那么使用哪种TrueCrypt算法是最安全的?
使用TrueCrypt 7.0a,最安全的加密方法是:使用AES-双鱼-Serpent级联加密与XTS方法。使用Whirlpool哈希算法。(SHA-512在这里是非常接近的第二位……这是值得商榷的……) 我倾向于Whirlpool,因为SHA-512已经有了一个后续的开发,因为担心它是基于一个旧的SHA-1,已经被破坏了。) 最重要的是使用一个非常强大的密码。20到30多个字符,大写,小写,数字,符号。使用微软的在线密码检查器进行强度测试。你也可以使用Keyfiles来进一步保护你的密码。
我推荐AES-双鱼-蛇形而不是蛇形-双鱼-AES,因为你希望最外层的加密(AES将是他们需要破解的第一层)是业界最标准的。这个是所有加密技术中最经得起考验的,也是最经得起考验的。另外,如果有人假设一个文件是用AES加密的,那么就无法看到是用Twofish加密的……所以他们做了这么多工作来破解AES,却发现现在Twofish挡住了他们的路。在Twofish之后,他们又遇到了Serpent,这是他们中最大的野兽(尽管它比AES使用/测试较少,但它的安全系数仍然比AES高得多)
如果你真的使用Keyfiles,我建议让TrueCrypt为你创建3个keyfiles。为他们提供的每种哈希算法创建一个密钥文件。您还可以添加一些.jpg和一些.mp3文件。不过,我会确保每个密钥文件都是只读的。
这可能是矫枉过正。
这些是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)的继承者。
还有,只是因为今天在news.ycombinator.com上突然出现了AES的故事。 http://www.moserware.com/2009/09/stick-figure-guide-to-advanced.html
级联密码器(AES-双鱼-Serpent等)应该是最安全的。你的数据用一种算法加密,然后用第二种算法对其输出进行加密,其输出用第三种算法加密。根据TrueCrypt文档,每个算法都使用不同的密钥,每个密钥都来自您的口令。
如果在其中的一个(或两个)密码中发现了漏洞,您的数据应该仍然是安全的,因为攻击者仍然无法破解其余的密码。
Rijndael赢得了AES的竞争,主要是因为它是最快的,也是最容易在硬件上实现的,**不是因为它是最 “安全 "的。Twofish和Serpent通常被认为是更安全的,但由于它们都是极其坚固的,所以这是一个非常主观的说法。当然,用多种算法加密会更加"安全",_但会进一步降低速度。
同样,它们都是_坚如磐石的,所以我的建议是选择你机器上最快的算法(通常是AES)。
虽然将多个密码层叠在一起存在一些危险,但Truecrypt似乎可以尽其所能地处理这些危险。它不会将任何已知的明文添加到第一个密码的输出中,而且它为每个密码使用独立的密钥,因此通过将不同的算法串联在一起,应该可以提高安全性。
虽然我会避开3DES。在阅读了Truecrypt页面列出的算法选择后,它甚至没有列出三重DES,所以他们最近可能已经删除了它。
假设256位变体,每个变体的最佳公有密码分析(时间复杂度越高越好,但各种注意事项):
毫无疑问,3DES是最不安全的,但这并不一定就不安全(除非是通常的未公布的后门问题)。然而我会避免使用它。所有其他算法一般都被认为是安全的。确定其中任何一种算法中是否存在故意放置的后门,很可能需要斯诺登发布更多文件。老实说,如果前三名中的任何一个确实有后门,那将是一个绝对的爆炸性启示。考虑到他的记录,我个人很乐意认为他们还是安全的。
2001年,美国国家标准与技术研究所(NIST)推出了高级加密标准(AES),并筛选出了五种具有对立算法的候选算法(通过多次候选会议)来代表该标准。蛇形密码是其中之一,获得了很高的安全性,但最终成为亚军,被Rijndael密码击败。虽然这发生在几年前,但它提供了一个迷人的瞥见电子数据加密和性能与安全之间的权衡。有趣的是,性能赢了!
与其他五个候选者相比,Serpent密码的安全系数最高,为3.56,考虑到第二好的是安全系数为2.67的Twofish密码,这已经相当不错了。Rijndael-256的安全系数为1.56 https://www.100tb.com/blog/security-performance-serpent-cipher-rijndael/ https://veracrypt.codeplex.com/wikipage?title=Serpent 。
如果你使用的是keyfiles,可以想象你可以使用更短的通证字,如果你不担心性能的打击,使用AES Twofish和Serpent会让那些试图进入加密材料的人头疼不已。但是也不要忽略了,你也可以把一个加密文件,放在一个更大的加密文件里面。通过这种方式,你可以 “允许 "你的攻击者去看外面的容器,让他们以为自己拥有整个容器。而事实上,他们根本就没有任何东西。随意在外面的文件中放一些稍微阴暗的东西,但没有任何东西会真正给你带来问题。我认为一连串的色情照片很符合这个要求,这里是有人想隐藏的东西,因此,你有一个很好的理由。外面的容器并没有显示出里面的容器甚至存在。把你的实际材料放在内部容器里面。更好的办法是让外面的容器 "弱",密码不足,没有keyfile。让你的攻击者认为他们破解了你的加密,然后耸耸肩说:"该死的,你真行,你把我弄死了。”
由于目前还没有已知的针对AES的攻击,使得蛮干变得可行(参考:https://en.wikipedia.org/wiki/Advanced_加密标准#已知的攻击),除非你希望3个字母的机构在下一个千年将他们的全部计算能力用于破解你的硬盘,否则AES是最佳选择。TrueCrypt的最后一个版本以及它的分叉支持AES-NI,在我的Core i7 3770上提供了超过2.5 GB/秒的吞吐量。
你连接到这个域名所宣传的IP地址,在大多数浏览器上使用AES加密(尽管CloudFlare持有浏览器所看到的密钥,并在将你的数据发送到StackExchange服务器之前对其进行解密和重新加密。所以不要用你的TrueCrypt/VeraCrypt/CipherShed密码来做StackExchange密码,因为如果说3个字母机构要破解你的硬盘,他们会在CloudFlare代理处拦截你的密码,并在尝试永远不会成功的蛮力之前,先尝试那个长)。)
我建议你对这些算法使用Whirlpool哈希,因为它是最强的。
对于加密算法,你应该使用级联。我推荐AES、双鱼、蛇形。AES相当弱(与其他算法相比,但速度最快),而且是行业标准,因此作为外层会很有效。Twofish更强,在解密AES层后,还会有另一层(Twofish)更强。蛇是最强的,这个级联证明是有效的。
一些额外的信息。对于密码,国安局有一台量子计算机,可以快速解密。我不会相信NSA(他们设计了AES)。我建议至少40个字母,小写和大写,数字,符号,没有字典词或个人信息(出生日期等),你可以使用钥匙文件。如果你有来自对手的风险,请使用TrueCrypt内置的似是而非的可否认性功能。
Rijndael(目前AES)是最好的算法。
From https://crypto.stackexchange.com/questions/24307/why-is-aes-unbreakable :
首先,并不是说AES是不可破解的,只是说目前已知的攻击都没有将计算成本降低到可行的程度。目前对AES-128的最佳攻击需要2^126.1次操作,如果我们有一台比目前任何一台计算机效率高几百万倍的计算机(或集群),并且可以在热力学的兰道极限下运行,那么光是通过每一个密钥值来递增一个计数器就需要234个petajoules。这大约是挪威年用电量的一半。实际上计算一个AES轮需要的能量是这个数字的几倍。
From Wikipedia :
Twofish是一种对称密钥块加密技术 块大小为128位 密钥大小为256位。它是高级加密标准竞赛的5个入围者之一,但它没有被选为标准化。Twofish与早期的块密码Blowfish有关。
Twofish的显著特点是使用预先计算的依赖于密钥的S盒,以及相对复杂的密钥时间表。n位密钥的一半被用来作为实际的加密密钥,而n位密钥的另一半则用来修改加密算法(密钥依赖性S-boxes)。Twofish从其他设计中借鉴了一些元素;例如,SAFER系列密码器中的伪哈达玛德变换(PHT)。Twofish有一个像DES一样的Feistel结构。Twofish还采用了一个最大距离可分离矩阵。
在大多数软件平台上,对于128位密钥,Twofish比Rijndael(高级加密标准选择的算法)稍慢,但对于256位密钥,它的速度要快一些。
来自 维基百科 :
Serpent是一个对称密钥块密码,是高级加密标准(AES)比赛的决赛选手,它的排名仅次于Rijndael。Serpent是由Ross Anderson、Eli Biham和Lars Knudsen设计的。
像其他AES提交的作品一样,Serpent的块大小为128位,并支持128、192或256位的密钥大小[2]。 该密码是一个32轮的替换-穿插网络,工作在4个32位字的块上。每轮将8个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.—————————Source。在我的记忆中的任何地方;-)