后量子密码学
文章平均质量分 93
后量子密码学
山登绝顶我为峰 3(^v^)3
只有平凡理想的域(✪ω✪)
展开
-
Code-based KEM:HQC
HQC 是基于编码的 KEM 方案,具有一些理想的性质:基于 structured codes 上的校验子译码问题,可以证明其 IND-CPA 安全;不需要假设使用的 structured codes 与随机码不可区分;**可以给出解码失败率(DFR)的上界**,从而利用 FO 能够(可证明地)提升为 IND-CCA 安全。原创 2024-08-27 17:36:12 · 1038 阅读 · 0 评论 -
Code-based KEM:BIKE
使用 google-perftools 分析该实现,可以发现在整个密钥传输过程中,KEM.Dec 占据了 72% 的总时间,而其中的 Decode 就占据了 67% 的总时间。原创 2024-08-27 13:56:05 · 858 阅读 · 0 评论 -
ACWC:Average-Case to Worst-Case Decryption Error
PKE 最基本的要求是 Average-Case Decryption Error 可忽略。为了抵御 decryption-error attacks,还需要保证 Worst-Case Decryption Error 也是可忽略的。原创 2024-06-03 17:44:57 · 748 阅读 · 0 评论 -
FO with Prefix Hashing & KEM Generalizations
通常的,PKE 的安全性定义都是针对 **Single-user Setting** 来说的:单个用户生成公私钥对,敌手试图区分密文、恢复明文、恢复私钥。然而 [Has88] 给出了 RSA 的一种攻击:三个用户分别生成公私钥对,另一个用户发送相同的消息给他们(不同密文的消息存在关联),敌手利用这些密文所加密的是同一个明文的关系,可以恢复出这个消息。这种场景称为 **Multi-user Setting**,敌手的攻击能力更强。一种解决办法是在明文后边 padding 一个随机串,从而相同消息被强行设置为了原创 2023-12-19 15:13:06 · 978 阅读 · 0 评论 -
FO-like Transformation in QROM & Oracle Cloning
# Fine-Grained FO[HHK17] 给出了**细粒度的变换**,先从 OW-CPA 构造出 IND-CPA 或者 OW-PCA,然后再继续构造出 IND-CCA,他们的归约比之前的工作更紧。原创 2023-11-26 22:52:09 · 1495 阅读 · 1 评论 -
任意分圆环下的 RLWE:如何产生正确的噪声分布
[LPR10] 给出了 Ring-LWE 的定义,其中的秘密 $s \in R^\vee$ 是取自环 $R=\mathcal O_K$ 的对偶理想。两个主定理为:1. 对于任意的**数域**,存在从最坏情况下格上困难问题到 S-RLWE 的量子归约,其高斯噪声是近似球形的(我们总是在典范嵌入下说它的形状,整数环 $R$ 分式理想 $I$ 的典范嵌入是空间 $H\cong \mathbb R^n$ 中的格)2. 对于任何的**分圆域**,存在从 S-RLWE 到平均情况下 D-RLWE 的经典归约原创 2023-11-24 17:26:42 · 1286 阅读 · 0 评论 -
NTTRU:兼容 NTT 算法的 NTRU-based KEM 方案
[LS19] 给出了支持 NTT 的 NTRU 变体。他们给出了 AVX2 优化的算法实现,计算效率比 NIST-PQC 所接受的 NTRU 方案要高得多(Gen: 8X, Encap: 5X, Decap: 8X),并且也比其他的 KEM 方案明显更快。[ACD+18] 使用 [APS15] 的 LWE estimator,评估了提交给 NIST-PQC 的所有 LWE-based、NTRU-based 的 PKE、KEM、Sign 的安全性。对于 128 比特的安全性,环的维度应当介于 700原创 2023-11-14 11:49:40 · 543 阅读 · 0 评论 -
NTRU 加密方案
[HPS98] 提出了最初的 NTRU 加密算法,* 交换环 $R$,**互素的理想** $p+q=R$,商环 $R_q=R/qR$ 和 $R_p=R/pR$* 充分大的子集 $R_f,R_g,R_r,R_m,R_a \subseteq R$原创 2023-10-27 17:19:04 · 489 阅读 · 0 评论 -
用 GPU 加速 PQC 方案:Multi-precision Montgomery、SHA3
文中说 C 的 word 是 16 比特的(用两个 16-bits words 模拟一个 32-bits word),而 ASM 的 word 是 32 比特的。SOS 按顺序,先计算 step 1 的高精度乘法,再计算 step 2 的模约简,最后计算 step 3 的后处理。个线程的 register 上,然后使用 warp shuffle 交换数据,避免了 bank conflict 的问题。并且,每个 warp 占据的资源是有限的,其中的 32 个线程相互抢占 register, bank 资源。原创 2023-10-20 17:38:33 · 371 阅读 · 0 评论 -
后量子签名:Fiat-Shamir(下篇)
[GLP12] 将整数划分为高阶比特和低阶比特,观察到:如果加上一个较小的整数,则低阶比特加上较小整数几乎不会溢出,从而这保持了高阶比特不变。,它们的距离可能会非常小,[GLP12] 的解决办法是对于边界点不执行压缩。的高阶比特加减一,不会出现 [GLP12] 遇到边界情况高阶比特剧烈变化的情况。根据 [Lyu12] 的高斯尾部不等式,[BG14] 选取足够大的。签名算法采用 [BG14] 的方案,承诺值是高阶比特。的近似,两者的高阶比特极大概率是相等的。的范围,那么根据 [Lyu09] 的均匀版本,当。原创 2023-06-19 10:48:38 · 418 阅读 · 0 评论 -
后量子签名:Fiat-Shamir(上篇)
Fiat-Shamir 范式:令 Π\PiΠ 是一个 Sigma 协议(333-round public-coin ZK proof/argument),证明者和验证者交互的副本形如 (a,e,z)(a,e,z)(a,e,z),其中 aaa 是承诺,eee 是公开掷币的一系列挑战(使得 soundness error 可忽略),zzz 是对这些挑战的回应,证明者将证据 www 作为私钥。我们用 HHH 表示随机神谕(Random Oracle)。给定消息 mmm,签名者随机生成 aaa,询问 RO原创 2023-06-19 10:49:16 · 996 阅读 · 0 评论 -
后量子签名:Hash-and-Sign(下篇)
书接上回整数格上离散高斯采样无论是 [Klein00] 还是 [DP16],它们的采样算法都需要以 SampleZSample\mathbb ZSampleZ 作为最底层的部件。由于 SampleZSample\mathbb ZSampleZ 是在截尾了的区间 [c−t(n)⋅s,c+t(n)⋅s][c-t(n) \cdot s, c+t(n) \cdot s][c−t(n)⋅s,c+t(n)⋅s] 上执行拒绝采样算法生成与 DZ,s,cD_{\mathbb Z,s,c}DZ,s,c 统计接近的近似分原创 2023-06-19 10:46:01 · 553 阅读 · 0 评论 -
后量子签名:Hash-and-Sign(上篇)
Hash-and-Sign 范式:令 fff 是一个公开的 trapdoor OWF,签名者持有其陷门 ttt。我么用 HHH 表示随机神谕(Random Oracle)。给定消息 mmm,签名者访问 RO 获得随机数 d=H(m)d=H(m)d=H(m),令签名值为 s=f−1(d)s=f^{-1}(d)s=f−1(d)。验证者计算 d=f(s)d = f(s)d=f(s),判断它是否等于 H(m)H(m)H(m)。出于安全归约的需要,有时需要引入随机盐 rrr 以及随机带 rdrdrd,签名值原创 2023-06-19 10:46:22 · 660 阅读 · 0 评论 -
LWE 评估器
**作者**:Martin Albrecht、Léo Ducas 等人**源码**:https://github.com/malb/lattice-estimator**文档**:https://lattice-estimator.readthedocs.io/en/latest/readme_link.html#原创 2023-03-26 16:36:18 · 984 阅读 · 0 评论 -
后量子 KEM 方案:Kyber
成为了唯一进入 NIST PQC 第 3 轮的 KEM 方案(一共 4 个方案,另外 3 个都是签名,其中 2 个也基于 MLWE,另外 1 个基于 Hash)。在 CPA PKE 中,公钥的第二分量包含中心二项分布噪声和舍入噪声,在压缩时简单丢弃了低位比特,因此可以近似地认为舍入噪声是均匀的。为解密时的累积噪声规模。使用 MLWE 的一个优势是:改变安全级别时,的思路,通过压缩密钥和密文来减小规模。基于 MLWE 问题的密码方案,需要使得。以保证私钥的安全性。”技术,引入了少量的(均匀)舍入噪声。原创 2023-02-13 17:36:59 · 3467 阅读 · 2 评论 -
后量子 KEM 方案:LAC
与 Newhope 一样,由于中心二项分布(centered binomial distribution, CBD)比高精度离散高斯分布的采样效率高得多,且只有签名算法依赖于离散高斯分布来获得安全性。LAC 使用类 ElGamal 加密框架,明文按照 Regev 的MSB 编码方式,这里的明文是被 ECC 编码的消息码字。LAC 包括四个方案:IND-CPA 安全的 PKE、IND-CCA 安全的 KEM、被动安全的 KE,安全的 AKE。的最大素数,可以使得元素的字节表示最为紧凑。原创 2023-02-13 16:18:19 · 1151 阅读 · 3 评论 -
后量子 KEM 方案:Newhope
后续,Newhope 给出了另一种方案,不再使用和解机制,而是通过 “舍入”(或者说 “模切换”) 直接丢弃低位比特。Peikert 也尝试了其他的转换方案,但都有各种各样的问题。后续的密钥封装方案(Newhope, LAC)也都是先构造 IND-CPA 的 KEM,然后再用 FO 转换获得 IND-CCA 的 KEM。Newhope - Simple 比前述的基于和解的 Newhope,仅仅只有很小的载荷损失(上涨了。另外,由于高精度的离散高斯分布会消耗大量的熵,实际实现时效率不高。原创 2023-02-01 19:49:22 · 1658 阅读 · 0 评论 -
多变量密码:PMI+加密、Rainbow签名
参考文献:Jintai Ding and Bo-Yin Yang. Multivariate Public Key Cryptography. Post-quantum cryptography. Springer, Berlin, Heidelberg, 2009.基于多变量的公钥密码系统(multivariate public key cryptosystem),它们的安全性基于求解有限域上非线性方程组属于NP-hard类。为了计算效率,同时也为了安全性,MPKC的带陷门OWF都是多元二次多项式映射(原创 2022-06-02 22:59:44 · 6028 阅读 · 0 评论 -
基于格的 Hash 函数(SWIFFT)& BKW 算法
参考文献:Daniele Micciancio and Oded Regev. Lattice-based cryptography. Post-quantum cryptography. Springer, Berlin, Heidelberg, 2009.Hash随机格上的Ajtai构造Ajtai构造:公共参数:整数n,m,q,dn,m,q,dn,m,q,d密钥:均匀随机矩阵A←RZqn×mA \leftarrow_R Z_q^{n \times m}A←RZqn×m原创 2022-05-29 20:32:34 · 706 阅读 · 0 评论 -
基于编码的密码方案:McEliece、Niederreiter
McEliece PKC令(n,k)q(n,k)_q(n,k)q线性码C\mathscr CC可以纠正t≪nt \ll nt≪n位错,G∈GF(q)k×nG \in GF(q)^{k \times n}G∈GF(q)k×n是生成矩阵,令DCD_\mathscr CDC是有效解码算法,令GJ∈GF(q)k×kG_J \in GF(q)^{k \times k}GJ∈GF(q)k×k是GGG的可逆子方阵。GenGenGen:令S∈GF(q)k×kS \in GF(q)^{k \times k}S∈原创 2022-05-17 21:56:54 · 1278 阅读 · 0 评论 -
校验子解码问题(Syndrome Decoding)
参考文献:Overbeck R, Sendrier N. Code-based cryptography[M]//Post-quantum cryptography. Springer, Berlin, Heidelberg, 2009: 95-145.校验子映射考虑[n,k]q[n,k]_q[n,k]q线性码C\mathscr CC,定义余维度(codimension)r=n−kr = n-kr=n−k,令HHH是其校验矩阵。定义校验子映射(syndrome mapping):SH:GF(q)n→原创 2022-05-17 19:24:54 · 2252 阅读 · 0 评论 -
LWE求解算法
问题转换搜索版本的LWE问题(A,b=As+e)←Ls,χ(A,b=As+e)\leftarrow L_{s,\chi}(A,b=As+e)←Ls,χ,等价于格L={Azmod q∣z∈Zqn}L=\{Az \mod q | z\in Z^n_q\}L={Azmodq∣z∈Zqn}上的BDD问题。因为模qqq,所以格基是{A1,A2,⋯ ,An,q⋅e1,q⋅e2,⋯ ,q⋅en}\{A_1,A_2,\cdots,A_n, q \cdot e_1,q \cdot e_2, \cdots, q原创 2022-03-22 21:40:22 · 1088 阅读 · 0 评论 -
LWE问题求解策略
LWE问题LWE分布Ls,χL_{s,\chi}Ls,χ:选定秘密向量s∈Zqns \in Z_q^ns∈Zqn,随机均匀地选择a∈Zqna \in Z_q^na∈Zqn,从离散高斯分布中选择e←χe \leftarrow \chie←χ,输出:(a,b=<a,s>+e mod q)∈Zqn×Zq(a,b=<a,s>+e\,\,mod\,q) \in Z_q^n \times Z_q(a,b=<a,s>+emodq)∈Zqn×Zq对于mmm个LWE样本,可原创 2022-02-15 15:13:22 · 1262 阅读 · 0 评论 -
格基约简:BKZ算法
欧几里得球(Euclidean ball)半径RRR的nnn维球,它的体积为:Vn(R)=Rn⋅πn/2Γ(n/2+1)=Rn⋅Vn(1)V_n(R) = R^n \cdot \frac{\pi^{n/2}}{\Gamma(n/2 + 1)} = R^n \cdot V_n(1)Vn(R)=Rn⋅Γ(n/2+1)πn/2=Rn⋅Vn(1)其中Γ(s)\Gamma(s)Γ(s)是GammaGammaGamma函数:Γ(s)=∫0∞ts−1e−tdt\Gamma(s) = \int_0^\i原创 2022-01-29 12:49:01 · 3390 阅读 · 0 评论 -
格基约化:LLL算法
Hadamard比率它用于描述nnn维线性空间某一组基B={b1,b2,⋯ ,bn}B = \{b_1,b_2,\cdots,b_n\}B={b1,b2,⋯,bn}的正交程度。描述:H(B):=∣det(B)∣∏i=1n∥bi∥H(B) := \frac{|det(B)|}{\prod_{i=1}^{n}\|b_i\|}H(B):=∏i=1n∥bi∥∣det(B)∣其中det(⋅)det(\cdot)det(⋅)是行列式,∥⋅∥\|\cdot\|∥⋅∥是L2范数,∣⋅∣|\cdot|原创 2022-01-01 21:50:38 · 4913 阅读 · 0 评论 -
格密码:陷门OWF(Short Basis、Gadget)
OWF基于SIS的OWF随机矩阵A∈Zqn×mA \in Z_q^{n \times m}A∈Zqn×m,输入短向量x∈Zmx \in Z^mx∈Zm,定义fA(x):=Ax∈Zqnf_A(x):=Ax \in Z_q^nfA(x):=Ax∈ZqnL=L⊥(A):={z∈Zm∣Az=0∈Zqn}⊇qZmL=L^{\perp}(A):=\{z \in Z^m|Az=0 \in Z_q^n\} \supseteq qZ^mL=L⊥(A):={z∈Zm∣Az=0∈Zqn}⊇qZm基于L原创 2021-11-03 16:57:33 · 3615 阅读 · 2 评论 -
格密码早期研究 —— Ajtai-Dwork,NTRU,GGH
Ajtai−DworkAjtai-DworkAjtai−Dwork EncryptionAjtai’s FunctionAjtai’s\,\,FunctionAjtai’sFunction随机生成矩阵A∈Zqn×mA \in Z_q^{n \times m}A∈Zqn×m,对于短向量x∈Zmx \in Z^mx∈Zm,定义fA(x):=Ax∈Zqnf_A(x):=Ax \in Z_q^nfA(x):=Ax∈Zqn基于AjtaiAjtaiAjtai提出的SIS问题,函数族{fA:{0原创 2021-11-01 16:11:10 · 741 阅读 · 0 评论 -
格上困难问题
格以方阵B为基底,格L(B)L(B)L(B):B∈Rn×n, L(B)={Bx∣x∈Zn}B \in R^{n \times n},\,\,L(B) = \{Bx|x \in Z^{n}\}B∈Rn×n,L(B)={Bx∣x∈Zn}格LLL是线性空间RnR^{n}Rn的加法子群 (并非子空间,子空间是连续的)格LLL是离散的,即∀x∈L\forall x \in L∀x∈L,xxx的邻域{y∣ϵ≥∥y−x∥}∩L\{y|\epsilon \ge\Vert y-x \Vert\} \cap L{原创 2021-10-31 22:51:38 · 903 阅读 · 0 评论 -
密码学:格
格以方阵B为基底,格L(B)L(B)L(B):B∈Rn×n, L(B)={Bx∣x∈Zn}B \in R^{n \times n},\,\,L(B) = \{Bx|x \in Z^{n}\}B∈Rn×n,L(B)={Bx∣x∈Zn}格LLL是线性空间RnR^{n}Rn的加法子群 (并非子空间)。格LLL是离散的,即∀x∈L\forall x \in L∀x∈L,xxx的邻域上只有xxx本身。对偶格LLL的对偶格:L∗={w∣<w,L>⊆Z}L^{*} = \{w|&l原创 2021-10-19 14:46:21 · 625 阅读 · 0 评论