Block-Cipher

在 Speck 的關鍵時間表的這一部分會發生什麼……?

  • September 9, 2018

我試圖弄清楚 Speck 分組密碼背後的過程。我了解 XOR 的工作原理(異或),當您獲取 2 個位串並且您想將它們異或在一起時。

但是,在密碼的密鑰計劃中,有一個地方發生了異或,但我不明白什麼是異或。

連結:https ://en.wikipedia.org/wiki/Speck_(cipher)#/media/File:Speck_block_cipher_0_indexing.svg

例如,在連結中的密鑰調度中,二進制加法的結果是 XOR d 與 0?

有人可以解釋這是什麼意思嗎?謝謝。

例如,在連結中的密鑰調度中,二進制加法的結果是 XOR d 與 0?

很簡單:在key schedule中,加法後的異或步是用round counter做的,round counter從 $ 0 $ 而不是 $ 1 $ .

所以對於整數 $ 0 $ ,第一個異或是用值完成的 $ 0 $ . 在下一輪中,異或與值完成 $ 1 $ ,等等。

提供的參考程式碼可能比框圖更容易閱讀,具體取決於您的程式技能。

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