題 哪種TrueCrypt算法最安全?


如果性能無關緊要,哪種TrueCrypt算法最安全?

  • AES
  • 三重DES
  • Twofish的
  • AES-Twofish的
  • AES-Twofish的,蛇
  • 蛇-AES
  • 蛇,Twofish的-AES
  • Twofish的,蛇

84
2017-11-06 11:41


起源


它們都是安全的,否則它們就不會出現在產品中。但是使用AES,因為它是標準。 - Ian Boyd
我會說,除非你之後有一個政府機構,否則你的密碼質量比加密算法更容易成為一個問題。 - Col
那太奇怪了;我本可以發誓這個頭銜是問哪個是 最快的。 ಠ_ఠ - Synetech


答案:


這些是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 serpent,閱讀那一個)。

所以,由於各種原因,Rijndael成為AES,它是DES(和3DES)的繼承者。

而且,正因為它今天在news.ycombinator.com上出現,AES的故事:

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


38
2017-11-06 12:21





使用TrueCrypt 7.0a,最安全的加密方法是: 使用AES-Twofish-Serpent級聯加密和XTS方法。 使用Whirlpool哈希算法。 (SHA-512在這裡非常接近第二位......這是有爭議的......我傾向於Whirlpool,因為SHA-512已經開發了一個繼任者,因為擔心它是基於一個較舊的SHA-1受到了損害。) 最重要的是使用非常強大的密碼。 20到30+個字符,大寫,小寫,數字,符號。使用Microsoft的在線密碼檢查程序進行強度測試。 您還可以使用密鑰文件來進一步保護您的密碼。

我推薦使用AES-Twofish-Serpent而不是Serpent-Twofish-AES,因為您希望最外層的加密(AES將是他們需要破解的第一層)成為業界最標準的。這是所有這些中最經過驗證和最真實的測試。另外,如果有人認為文件是用AES加密的,那麼就無法看到用Twofish加密...所以他們做了所有這些工作來打破AES,只是發現Twofish現在阻擋了他們的方式。然後再次在Twofish之後他們遇到了Serpent,這是他們所有人中最大的野獸(即使它比AES更少使用/測試,它仍然具有比AES更高的安全邊際)

如果您使用Keyfiles,我建議您使用TrueCrypt為您創建3個密鑰文件。為它們提供的每個哈希算法創建一個密鑰文件。您也可以添加一些.jpg和一些.mp3文件。我會確保將每個密鑰文件設置為只讀。

這可能有點過分了。


63
2017-08-16 15:46



你說使用20-30個字符,但是不是有點矯枉過正嗎?甚至10個小寫字母也將是26 ^ 10 = 141,167,095,653,376個組合(每秒一次檢查400萬年)。肯定還不夠好嗎? - Dan W
@Dan W:肯定是每秒一次檢查。但是,儘管散列方法有所不同 很多 在性能方面,消費級硬件更接近於每秒測試數十億個密碼。您的十個字符小寫密碼將在幾個小時內被破解。 - Marcks Thomas
您對級聯順序的理由沒有任何意義。無論AES是第一個還是最後一個,攻擊者都必須突破每個層(每個層使用一個獨立的密鑰)。 - jjlin


級聯密碼(AES-Twofish-Serpent等)應該是最安全的。您的數據使用一種算法加密,然後使用第二種算法對其輸出進行加密,其輸出使用第三種算法加密。根據 TrueCrypt文檔,每個算法使用不同的密鑰,每個密鑰都來自您的密碼。

如果在這些密碼中的一個(或兩個)中發現漏洞,則您的數據仍然應該是安全的,因為攻擊者仍然無法破解其餘密碼。


15
2017-07-13 22:08



我想補充說,如果只選擇一個密碼,Serpent可能是最安全的,但速度明顯慢於AES(注意政府選擇的高級加密標準涉及性能,而不僅僅是安全性)。 - bwDraco


AES-Twofish-Serpent或Serpent-Twofish-AES。但是常規AES就足夠了。


5
2017-07-13 16:16





Rijndael贏得AES競賽主要是因為它是硬件中實施最快,最容易的,  因為它是最“安全的”。 Twofish和Serpent通常被認為更安全,但因為它們是 所有 非常堅如磐石,這是一個非常主觀的主張。當然,使用多種算法進行加密會更多 “安全,” 但會進一步降低速度。

再一次,他們是 所有 堅如磐石,所以我的建議就是用機器上最快的(通常是AES)。


5
2018-02-09 17:48





我已經讀過,鏈接算法在一起可能會導致較弱的安全性,因為用於跟隨另一個的算法。

此外,如果您使用其中一個組合密碼,效率和速度將受到很大影響。

我會推薦Rijndael(AES)或Serpent,如果你想要它是安全的:最關鍵的元素是密鑰,所以製作一個非常長的密鑰,每組至少有一個大小寫,數字和符號字符。


1
2017-11-06 14:09





雖然將多個密碼級聯在一起存在一些危險,但Truecrypt似乎盡可能地處理它們。它沒有向第一個密碼的輸出添加任何已知的明文,並且它為每個密碼使用獨立密鑰,因此通過將不同的算法鏈接在一起,它應該增加安全性。

我會偷走3DES。閱讀了列出算法選擇的Truecrypt頁面後,它甚至沒有列出三重DES,因此他們最近可能已將其刪除。


1
2017-11-06 14:43



對於那些有興趣更深入地討論級聯多個密碼中的“危險”的人,請查看以下主題: crypto.stackexchange.com/questions/6486/... - Tiago
3DES的一個主要責任是,與更現代的密碼相比,它的速度非常緩慢,同時最好提供類似的安全性。 (3DES可以讓你獲得112位安全性,因為它可以滿足中間攻擊,而AES-128目前可以在更好的吞吐量下獲得非常接近128位的安全性。)另外,DES使用64位塊是一種安全性。由於較小的塊可能擴散有限而導致的責任。 - α CVn


如果你使用密鑰文件,你可以想像使用較短的密碼,如果你不擔心性能命中,使用AES Twofish和Serpent會給那些試圖進入加密材料的人帶來很多麻煩。但也不要忽視你也可以把一個加密文件放在一個更大的加密文件裡面。通過這種方式,您可以“允許”攻擊者查看外部容器並讓他們認為他們擁有整個容器。事實上,他們根本沒有任何東西。隨意在外部文件中放置一些稍微陰暗的東西,但實際上沒有任何東西會給你帶來問題。我認為大量的色情照片很適合這個賬單,這是有人想要隱藏的東西,因此,你有一個很好的理由。外部容器沒有顯示內部容器甚至存在。將實際材料放入內部容器中。更好的是使用密碼不足而沒有密鑰文件使外部容器“弱”。讓你的攻擊者認為他們打破了你的加密,聳聳肩說:“該死的,你好,你讓我死於權利。”


0
2018-03-27 20:37





每個最佳公共密碼分析,假設256位變體(更高的時間複雜度更好,但各種警告):

  • Rijndael:2 ^ 254.4時間複雜度(忽略相關的關鍵攻擊,這裡不會有問題)
  • 蛇:12輪32,2 ^ 228.8時間複雜度(但需要2 ^ 118個已知的明文)
  • Twofish:6輪16(但需要2 ^ 51選擇的明文)
  • 3DES:2 ^ 118(具有2 ^ 32個已知明文;注意,3DES使用168位,因此蠻力是2 ^ 168而不是2 ^ 256)

毫無疑問,3DES是最不安全的,但這並不一定使它不安全(除非通常未發表的後門問題)。但是我會避免它。所有其他算法通常被認為是安全的。確定其中任何一個故意放置後門的存在可能需要斯諾登發布更多文件。老實說,如果前3名中的任何一個確實有後門,那將是一個絕對的重磅炸彈啟示。鑑於他的記錄,我個人很高興地認為他們仍然是安全的。


0
2018-01-01 06:37



具有三個獨立密鑰(168位密鑰材料)的3DES容易受到中間會合攻擊,這意味著有效的安全性是112位密鑰的安全性。 en.wikipedia.org/wiki/Triple_DES#Security - α CVn


2001年,美國國家標準與技術研究院(NIST)推出了高級加密標準(AES),並列出了五個候選人(通過多個候選人會議),並採用相反的算法來代表該標準。 Serpent密碼就是其中之一,獲得了高安全性kudus,但最終成為了Rijndael密碼的亞軍。雖然幾年前發生了這種情況,但它提供了一個迷人的電子數據加密和性能與安全性之間的權衡的一瞥。有趣的是,表現贏了!

與其他五個候選人相比,Serpent密碼具有最高的安全係數3.56,考慮到下一個最好的密碼是Twofish密碼,安全係數為2.67,這是非常好的。 Rijndael-256的安全係數為1.56

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

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


0
2017-10-14 17:31