From 062377d5fd61fe411b4f857d77caccaac7162ecc Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Wed, 16 Apr 2025 08:26:59 +0000 Subject: [PATCH] =?UTF-8?q?Updated=20=E5=AE=9E=E7=8E=B0Kyber=E6=89=80?= =?UTF-8?q?=E9=9C=80=E7=9A=84=E5=A4=9A=E9=A1=B9=E5=BC=8F=E5=92=8C=E7=BA=BF?= =?UTF-8?q?=E6=80=A7=E4=BB=A3=E6=95=B0=E7=9F=A5=E8=AF=86=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 实现Kyber所需的多项式和线性代数知识.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/实现Kyber所需的多项式和线性代数知识.md b/实现Kyber所需的多项式和线性代数知识.md index ea4a44e..303eb08 100644 --- a/实现Kyber所需的多项式和线性代数知识.md +++ b/实现Kyber所需的多项式和线性代数知识.md @@ -13,7 +13,7 @@ # 多项式 一个多项式是环 $R_q$ 的一个元素[[3](#user-content-anchor-ref3)],看起来像这样: -$$f = f_0 + f_1 X + f_2 X^2 + \ldots + f_{255} X^{255}$$ +$$f = f_0 + f_1 X + f_2 X^2 + \cdots + f_{255} X^{255}$$ 但你甚至不需要知道这些。对你作为一个实施者来说,一个ML-KEM多项式就是一个有256个系数的数组。每个系数都是一个整数模 $q$,其中 $q = 3329$。一个系数数组被称为在 $\mathbb{Z}_q^{256}$ 中,因为它由 256 个系数组成,每个系数都在 $\mathbb{Z}_q$,即整数模 $q$。 @@ -46,7 +46,7 @@ ML-KEM规范中听起来最令人害怕的部分之一是数论变换。好消 $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 +\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 ``` 从技术上来说,NTT(数论变换)代表的是一个由128个多项式组成的序列,每个多项式有两个系数。但您不需要深入考虑这一点,您可以使用同样的数据结构,例如 `[256]uint16`,来表示