Cbc-Mac

不同塊大小的 OMAC/CMAC 常數

  • February 28, 2021

OMAC/CMAC 僅指定 64 位(0x1B)和 128 位(0x87)塊大小的常量。我想知道如何獲取其他塊大小的常量。

http://en.wikipedia.org/wiki/CMAC說它*“是字典上第一個不可約的 b 度二進制多項式的非領先係數,其數量最少。”* ,但我不擅長數學,也不知道如何實現。

那麼有人知道如何實現嗎?

謝謝。

可以通過按順序測試這些多項式的可約性(第二種算法),

直到您得到按該順序的第一個不可約多項式, 來實現字典上第一個不可約 b 次多項式與最少數量的辨識。 或者,您可以查找它們

然後通過丟棄前導(塊大小)項並評估餘數,從多項式中導出常數本身 $ x = 2 $ .

例如對於 256 位塊大小:

  • 第一個多項式是 $ x^{256} + x^{10} + x^5 + x^2 + 1 $

請注意,這是256,10,5,2在連結的報告中,它丟棄了 $ +1 $ 學期。

  • 丟棄第一項並評估 $ x = 2 $ 給 $ 2^{10} + 2^5 + 2^2 + 1 = 0x425 $

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