mirror of
https://github.com/emmansun/gmsm.git
synced 2025-05-11 03:26:17 +08:00
Updated 实现Kyber所需的多项式和线性代数知识 (markdown)
parent
018a680404
commit
9777720772
@ -59,7 +59,7 @@ $$ \downarrow $$
|
||||
|
||||
如果你之前使用过蒙哥马利约简(Montgomery reduction)和蒙哥马利域(Montgomery domain),那么你应该已经熟悉将值映射到不同的域(在这里也是乘法运算更快)的概念。与蒙哥马利域类似,你用来表示元素的数据结构在域内和域外是相同的,但它们在语义上有不同的类型。
|
||||
|
||||
你可以在不理解 NTT(数论变换)和 NTT⁻¹(数论变换的逆)背后的数学原理的情况下实现它们。需要注意的是,在 NTT 和 NTT⁻¹ 中有一个复杂的术语叫做 $\zeta = 17 \in \mathbb{Z}_q$ 。你需要预先计算它的128个可能的值。
|
||||
你可以在不理解 NTT(数论变换)和 NTT⁻¹(数论变换的逆)背后的数学原理的情况下实现它们。需要注意的是,在 NTT 和 NTT⁻¹ 中有一个复杂的术语叫做 $\zeta = 17 \in \mathbb{Z}_q$ 。你需要预先计算它的128个可能的值 $\zeta^{BitRev_7(i)}$ 。
|
||||
|
||||
NTT(数论变换)代表的加法和减法操作与多项式的加法和减法相同。只是不能混合匹配它们。(如果你有一个弱的类型系统或泛型,你甚至可以使用相同的函数。)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user