Block-Cipher

萊-梅西方案

  • February 8, 2020

Lai-Massey 設計的一個基本原理是,與 SPN 和 Feistel 相比,在單輪中實現完全擴散(因此輪數更少),因為使用了乘法 - 加法 (MA) 函式。但是,它不像 SPN 和 Feistel 結構那樣常見。

  1. Lai-Massey 與 SPN 和 Feistel 相比還有其他優點/缺點嗎?為什麼不常見?
  2. 模乘運算在防止機率密碼分析(如微分、線性、積分等)方面發揮什麼作用?特別是當使用子鍵模乘法時?
  3. 在 IDEA cipher 的描述中,16 位子塊的表示被表示為整數的基二表示,除了全零子塊被視為表示 $ 2^{16} $ , 例如: $$ (0,…,0)\odot(1,0,…,0) = (1,0,…,0,1) $$ $$ 2^{16}2^{15} \space mod \space (2^{16}+1)= 2^{15}+1 $$

為什麼全零子塊表示為 $ 2^{16} $ ?

IDEA 在同一個集合上結合了三個交換群律 $ [0,2^{16}) $ (16 位字)

  • $ \oplus $ ,這是按位異或
  • $ \boxplus $ , 這是加法模 $ 2^{16} $
  • $ \odot $ 由模乘模構造而成 $ 2^{16}+1 $ , 但替換 $ 0 $ 和 $ 2^{16} $ 在模乘之前,並替換 $ 2^{16} $ 和 $ 0 $ 模乘之後。

它遵循 $ 0\odot0=1 $ , $ 0\odot1=0 $ , 和 $ 0\odot x=2^{16}+1-x $ 什麼時候 $ x\in[2,2^{16}) $ .

替換在那裡重新映射乘法組 $ \Bbb Z^*_{2^{16}+1} $ ,即全區間 $ [1,2^{16}] $ (因為 $ 2^{16}+1 $ 是素數),在相同的區間上 $ [0,2^{16}) $ 與其他兩項法律一樣 $ \oplus $ 和 $ \boxplus $ .


每條評論:如果我們嘗試將相同的技術應用於 32 位字,則法律 $ \odot $ 仍然是內部的,關聯的,可交換的,與 $ 1 $ 中性元素。但是由於 $ 2^{32}+1 $ 不是素數,有些元素沒有逆,因此 $ \odot $ 將不再是集體法。因此,需要採取預防措施以避免將這些不可逆值(4294967296 中的 6701057,或 0.16%)用作任何子鍵 $ Z_1^{(j)} $ , $ Z_4^{(j)} $ , $ Z_5^{(j)} $ , $ Z_6^{(j)} $ ,以使解密成為可能。

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