Modes-of-Operation

我應該使用 XTS 還是 GCM 來加密我的硬碟驅動器?

  • May 24, 2016

我想開始加密我所有的硬碟,但我不知道是選擇 XTS 還是 GCM 模式。為什麼推薦使用 XTS(因為我訪問的大多數網站在其 HTTPS 連接中都使用 GCM)?所以我的問題是:我應該使用 XTS 還是 GCM,為什麼一個比另一個更好?

使用 XTS 進行全盤加密。它就是為此目的而設計的。wiki中 XTS 模式的定義在Disk Encryption Theory我認為足夠多的以下內容下:)

在 GCM 中,對於每個固定鍵,IV 值必須是不同的。這使得它不利於大文件的加密。

從早期的 GCM問題

GCM is bounded to encrypting about 68 GB 

但是,如果您仍然想在磁碟加密中使用 GCM,您可以查看問題。

XTS 的設計使明文和密文的大小相同。這是磁碟加密“需要”的,以保持扇區大小。但是,當您在文件級別加密磁碟時,這是一個完全不相關的問題。此外,從某種意義上說,XTS 並不是“理想的”,因為它不是真正的寬塊密碼(定義為塊大小上的偽隨機排列)。這是一個實際上有點妥協的標準。

如果您在文件級別進行加密,那麼我建議您使用經過身份驗證的加密方案。GCM 當然是可能的,但是你需要確保你有一個唯一的 IV 並且你需要確保你保持在界限內。也可以使用 nonce-misuse-resistant 版本;強烈建議這樣做,因為 nonce 重用並不是災難性的(最壞的情況會顯示兩個文件是相同的,但如果文件包含路徑名,則不會發生這種情況)。您可能會擔心速度,但好的實現遠遠低於一個字節的周期,因此與讀取/寫入磁碟的成本相比,成本並不高。

引用自:https://crypto.stackexchange.com/questions/35520