Encryption
為什麼不使用多重密碼加密數據?
為什麼不使用多個未妥協的(到目前為止)密碼對數據進行加密?隨時為單獨的私鑰和單獨的私鑰回答單個私鑰。
例如,先用 TwoFish 加密數據,然後用 AES 加密?
是資源消耗翻倍還是安全性小幅提升的問題?兩個密碼可以一起比單獨的密碼弱嗎(在實踐中或理論上)?
如果是後者,為什麼不對數據應用一種密碼,對一次性密碼應用一種密碼並同時傳輸兩者?(用單獨的密碼加密的消息和一個時間填充是否比任何一種密碼都弱?)
如果我理解 2DES 幾乎不會給您帶來安全性的提升,您會認為它會與 3DES 相比。但 IIRC 2DES 仍然比 DES 強。
為什麼不使用多個未妥協的(到目前為止)密碼對數據進行加密?
- 大約自 1980 年以來,當現代廣泛部署的對稱加密實際上在該領域失敗時,這並不是由於密碼的理論破解,因為製作密碼的藝術/科學已經成熟¹ , ²。成功的攻擊是針對受損或洩漏的實現、密鑰管理/生成、短密鑰(可能是故意的³)、操作模式和人為因素,這些都是多個密碼無法解決的問題。因此,多重密碼只能防止現在無法實現的風險。
- 大約在 1990-2000 年之前,強加密對平民來說是非法的或被勸阻的,包括在許多西方國家。因此,當多個級聯密碼最有用時:在製作良好加密貨幣的知識變得司空見慣之前,多個級聯密碼無法在商業產品中廣泛使用⁴。
- 多個密碼增加了複雜性,複雜的系統失敗更多。
- 多重密碼增加了加密的計算成本,以及使用硬體時的硬體成本(AES 的情況越來越多,如今內置 CPU 密碼的事實標準)。
- 如果多個級聯密碼使用相同的密鑰,則安全性可能成為最弱密碼的安全性,尤其是針對確實發生的側通道攻擊。因此,我們需要多個密碼的多個密鑰,這不利於可用性,或/並引入了更多的複雜性。
¹ 最接近例外的是 RC4,但大多數針對使用 RC4 的系統的實際攻擊都是由於密鑰管理/操作模式不佳造成的。此外,RC4 最初用於具有 40 位安全性的應用程序。
² 非對稱加密、簽名和散列比較成熟,比如 2000 年。
³ 這就是 DES 具有 56 位密鑰的原因,請參閱此。另一個例子是 GSM 的A5/1,它之所以可以破解,主要是因為它使用了一個小狀態,大概是因為當局希望能夠破解它(儘管我缺乏證明該斷言的明確參考)。
⁴ 有一些磁碟加密產品中使用級聯加密的例子,它是一種抑制偏執狂/安全劇院附件的選項。它是 TrueCrypt/VeraCrypt中的一個選項,無論是否使用此選項,對本產品的成功攻擊都有效。