Modes-of-Operation
我應該使用 XTS 還是 GCM 來加密我的硬碟驅動器?
我想開始加密我所有的硬碟,但我不知道是選擇 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 重用並不是災難性的(最壞的情況會顯示兩個文件是相同的,但如果文件包含路徑名,則不會發生這種情況)。您可能會擔心速度,但好的實現遠遠低於一個字節的周期,因此與讀取/寫入磁碟的成本相比,成本並不高。