diff --git a/实现Kyber所需的多项式和线性代数知识.md b/实现Kyber所需的多项式和线性代数知识.md index 816359b..b7ef9d6 100644 --- a/实现Kyber所需的多项式和线性代数知识.md +++ b/实现Kyber所需的多项式和线性代数知识.md @@ -50,7 +50,9 @@ $T_q$ 中的元素看起来象这样: \hat{g} = (\hat{g}_{0,0} + \hat{g}_{0,1}X, \hat{g}_{1,0} + \hat{g}_{1,1}X, \cdots, \hat{g}_{127,0} + \hat{g}_{127,1}X) \in T_q ``` $$ \downarrow $$ -$$ (\hat{g}_{0,0}, \hat{g}_{0,1}, \hat{g}_{1,0}, \hat{g}_{1,1}, ..., \hat{g}_{127,0}, \hat{g}_{127,1}}) \in \mathbb{Z}_q^{256} $$ +```math +(\hat{g}_{0,0}, \hat{g}_{0,1}, \hat{g}_{1,0}, \hat{g}_{1,1}, ..., \hat{g}_{127,0}, \hat{g}_{127,1}}) \in \mathbb{Z}_q^{256} +``` 从技术上来说,NTT(数论变换)代表的是一个由128个多项式组成的序列,每个多项式有两个系数。但您不需要深入考虑这一点,您可以使用同样的数据结构,例如 `[256]uint16`,来表示 $R_q$ 和 $T_q$ 中的元素。不过,在你的类型系统中为它们分配不同的类型是个好主意,这样可以避免混淆。