Updated 实现Kyber所需的多项式和线性代数知识 (markdown)

Sun Yimin 2025-04-16 08:24:31 +00:00
parent 09ee862f7b
commit 1d8fb8e6bd

@ -45,7 +45,9 @@ ML-KEM规范中听起来最令人害怕的部分之一是数论变换。好消
$T_q$ 中的元素看起来象这样:
$$\hat{g} = (\hat{g}_{0,0} + \hat{g}_{0,1}X, \hat{g}_{1,0} + \hat{g}_{1,1}X, ..., \hat{g}_{127,0} + \hat{g}_{127,1}X) \in T_q$$
```math
\hat{g} = (\hat{g}_{0,0} + \hat{g}_{0,1}X, \hat{g}_{1,0} + \hat{g}_{1,1}X, ..., \hat{g}_{127,0} + \hat{g}_{127,1}X) \in T_q
```
从技术上来说NTT数论变换代表的是一个由128个多项式组成的序列每个多项式有两个系数。但您不需要深入考虑这一点您可以使用同样的数据结构例如 `[256]uint16`,来表示
$R_q$ 和 $T_q$ 中的元素。不过,在你的类型系统中为它们分配不同的类型是个好主意,这样可以避免混淆。