Symmetric
什麼是可調整的分組密碼?
非常簡單的問題 - 但我似乎找不到太多關於它的資訊。
- 究竟什麼是可調整的分組密碼?
- 它們與傳統的分組密碼有何不同?
- 什麼是“調整”?它只是一個字節序列嗎?它有什麼特殊的品質嗎?
- 可調整的分組密碼是否更適合任何特定情況?
- Twofish(傳統的分組密碼)與 Threefish(可調整的分組密碼)相比如何?
分組密碼是一系列排列,其中密鑰從該系列中選擇特定排列。使用可調整的分組密碼,密鑰和調整都用於選擇排列。所以tweak和key非常相似。
主要區別在於調整的安全性和性能要求:
- 更改密鑰可能很昂貴,更改調整必須便宜。
- 在使用選擇的攻擊者時是安全的,或者至少相關的密鑰不是密碼的主要安全屬性。通常,它們會在假設隨機選擇的密鑰的情況下進行分析。相關的關鍵攻擊是相當學術的。例如,儘管有相關的密鑰攻擊,AES 仍然被認為是安全的。
相關或攻擊者選擇的調整必須仍然是安全的。調整通常是一個計數器,因此調整通常是相關的。
如果你看一下 Threefish,tweak 和 key 的處理方式幾乎相同。更改其中任何一個都很便宜,並且不會遭受相關的密鑰攻擊。
另一方面,如果您採用 AES-256 並使用部分密鑰作為調整,那將無法正常工作。重新加密 AES 是有代價的,並且會遭受相關的密鑰攻擊。
可調整分組密碼的一種應用是磁碟加密。您使用相同的密鑰加密每個塊,但需要進行與塊索引相對應的調整。目前我們通常不為此使用可調整的分組密碼,而是使用 XTS 模式,它將普通的分組密碼變成可調整的分組密碼。
這種調整計數器模式(不確定它是否有標準名稱)通常很好。這很簡單,類似於歐洲央行。它是可並行的,並且不受歐洲央行的弱點的影響。當重用密鑰(或密鑰-iv 對)時,它也不會像 CTR 模式那樣災難性地失敗。