Encryption

具有 7 個密鑰的 Triple DES-X 會比標準的 Triple DES 慢得多嗎?

  • July 31, 2021

由於具有 64 位密鑰的 XOR 的單次硬體通過速度很快,以下列方式使用的具有七個 64 位密鑰的 Triple DES-X 在程式碼大小、記憶體消耗和執行速度方面與 3DES 幾乎相同?

  • 您有四個 128 位密鑰和三個 64 位密鑰。
  • 你需要一個 128 位的明文塊。
  • 您可以按照以下基於列轉置的方式將其分成兩個 64 位塊的一半。

偶數索引的位進入一半,奇數索引的位進入另一半,所以兩半是混合的。

  • 您獲取第一個 128 位密鑰並對整個 128 位塊進行異或。
  • 您獲取第一個 64 位密鑰並使用 DES 相互獨立地加密每個 64 位半塊。

您將結果視為該輪的 128 位密文並重複 128 位列轉置,重要的是基於奇偶索引再次混合兩個半塊。

  • 您獲取第二個 128 位密鑰並將整個塊作為一個塊進行異或。
  • 然後,您可以獨立地獲取第二個 64 位密鑰和 DES 兩個 64 位半塊。
  • 然後第三次重複柱狀轉置-XOR-DES 過程。
  • 最後,用第 7 個 128 位密鑰對整個 128 位塊進行異或。

會不會強很多?它還會遭受與 DES-X 相同的基於塊大小的漏洞嗎?

好吧,有一個相當明顯的 CPA 攻擊,它使用 circa $ 2^{34} $ 左右選擇的明文,以及關於 $ 2^{120} $ 試驗DES操作。因此,加密強度並不明顯高於標準 3DES。

至於程式碼大小和記憶體大小,它肯定會比標準 3DES 大(你做的更多,周圍有更多的密鑰材料)——但很難猜測有多少。

該方案可能會比 3DES 慢一些。對於 3DES,您可以省略 DES 操作之間的中間 IP/FP 排列。在您定義的方案中,您必須將它們放在那裡,並且您還必須執行柱狀轉置。現在,您可以將 DES 操作之間的 FP/transpose/IP 組合到一個操作中,這似乎是合理的,這將在一定程度上降低成本,但它仍然不會像完全省略它們那樣便宜。

從好的方面來說,這實際上是一個 128 位塊密碼,因此您可以避免 64 位塊大小帶來的漏洞。

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