Signature

Dilithium-1024x768 或 Dilithium2 的含義

  • February 27, 2021

有人可以解釋一下算法中 Dilithium-1024x768 中 1024 和 768 的含義嗎?以及算法中Dilithium2中2的含義?

1024 和 768 指的是基本“生成器”矩陣的維度 $ A $ ,這些數字是256的倍數,也就是模組環的大小。

如果到目前為止術語有點混亂,那麼讓我解釋一下:

  • $ A $ 是公鑰的一個組成部分,它是根據在密鑰生成期間選擇的隨機種子計算得出的。它也用於簽名和驗證。
  • Dilithium(連同 Kyber、Sabre 和其他一些)使用“模組化”晶格。也就是說,它們不是使用多項式環或整數矩陣,而是使用高維多項式環矩陣(在 Dilithium 和 Kyber 等情況下為 256 次)。這極大地提高了性能和安全級別的可擴展性。

有人可能會質疑:“文件沒有說 $ (k,l) = (4,4) $ (或者 $ (4,3) $ 在早期版本中)?”。確實如此,當您將模組環視為矩陣元素時,這些數字指的是。如果將環模組擴展為 256×256 矩陣,則完整矩陣將為 1024×768。而對於那些熟悉 lattice-reduction 攻擊的人來說,4 顯然是一個容易被攻擊的維度太小了。

至於“2”,我不確定。也許它只是指第二輪送出給 NIST 的 Dilithium 版本。

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