Block-Cipher
在 Speck 的關鍵時間表的這一部分會發生什麼……?
我試圖弄清楚 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 $ ,等等。
提供的參考程式碼可能比框圖更容易閱讀,具體取決於您的程式技能。