Rijndael

為什麼具有 256 位塊的 Rijndael 要求底部兩行比平時多移動一個空間?

  • January 24, 2013

來自維基百科:

對於 256 位塊,第一行不變,第二、第三和第四行的移位分別為 1 字節、3 字節和 4 字節。

為什麼改變?與使用其他鍵大小一樣使用 0、1、2、3 有什麼區別嗎?

該變體直接實現了 NIST 提案中指定的 Rinjdael 的 ShiftRow(第 4.2.2 節),為 128、192 和 256 位塊大小(Nb=4、6 和 8)定義了 Shitftrows。

針對 128、192 和 256 位塊大小(Nb=4、6 和 8)的 Shitftrows


粗略地說,偏移量改善了連續輪密碼的混合(擴散)特性。更準確地說,作者將他們的動機(第 7.4 節)表述為:

ShiftRow 偏移量

已根據以下標準從所有可能的組合中進行選擇:

  1. 四個偏移量不同,C0 = 0;
  2. 使用截斷差分抵抗攻擊$$ Kn95 $$;
  3. 抵抗廣場攻擊$$ DaKnRi97 $$;
  4. 簡單

對於某些組合,使用截斷差分的攻擊可以處理比其他組合更多的回合(通常只有一個)。對於某些組合,Square 攻擊可以處理比其他組合更多的回合。從最符合標準 2 和 3 的組合中,選擇了最簡單的組合。

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