NIST后量子密码kyber的说明书整理

前言:只是自己学习用,第一版粗略的翻译,有错误不负责。。。

  1. kyber的表达规范

Kyber是一种ind - cca2安全的密钥封装机制(KEM),其安全性建立在解决模块格上的带错误学习(LWE)问题的难度上。

第1.1小节中,给出了初步说明和固定符号。在第1.2小节中,给出了Kyber.CPAPKE的完整规范。第1.3小节给出了我们在Kyber中用于从Kyber.CPAPKE获得Kyber_CCAKEM的转换的详细信息。第1.4小节列出了为不同安全级别建议的参数。最后,第1.5小节解释了Kyber背后的设计原理。

    1. 序言和注释

字节和字节数组Kyber的所有API函数的输入和输出都是字节数组。B表示集合{0,…,255} a||b表示a和b的级联  a+k表示从a的字节k开始的字节数组(索引从零开始)。

多项式环和向量我们用R表示环Z[X]/(Xn+1),用Rq表示环Zq[X]/Xn+1,常规字体字母表示R或Rq中的元素(包括Z和Zq中的元件),粗体小写字母表示R和Rq中系数的向量。默认情况下,所有向量都是列向量粗体大写字母是矩阵。对于向量v(或矩阵a),我们用vT(或AT)表示其转置。对于向量v,我们写v[i]来表示它的第i个条目(索引从零开始);对于矩阵a,我们写a[i][j]来表示第i行第j列中的条目(同样,索引从零开始)。

模块化缩减对于偶数(相对奇数)正整数α,我们将r’=r mod±α定义为范围内的唯一元素

舍入:对于元素x∈Q我们用[x]表示x舍入到最接近的整数,关系向上舍入。

元件尺寸:对于元素w∈ Zq,我们写||w||∞代表|w mod± q|。(详情见说明书)

集和分布对于一个集合S,我们写S←S来表示S是从S中均匀随机选择的。如果S是一个概率分布,那么这表示S是按照分布S选择的。

压缩和解压缩定义两个函数Compressq(x, d)  Decompressq(x, d)

定义Compressq和Decompressq函数的主要原因是能够丢弃密文中一些对解密的正确概率没有太大影响的低阶位,从而减少密文的大小。

对称的原语Kyber的设计利用了伪随机函数PRF: B32 × B→B *和可扩展输出函数XOF: B * × B × B→B *。Kyber还使用了两个哈希函数H: B *→B32和G: B *→B32 × B32以及一个键派生函数KDF: B *→B *。

ntt、乘法和位反转顺序在Rq中执行乘法的一种非常有效的方法是通过所谓的数论变换(NTT)。

Rq中的均匀抽样Kyber使用确定性的方法来抽样Rq中统计上接近均匀随机分布的元素。

抽样来自二项分布Kyber中的噪声样本来自一个中心的二项分布Bη (η = 2或η = 3)定义一个多项式f∈Rq如何从一个伪随机函数的64η字节的输出中确定地根据Bη采样,此由函数CBD完成。

编码和解码Kyber需要将两种数据类型序列化为字节数组:字节数组和多项式的向量。字节数组通过恒等式被简单地序列化,因此我们需要定义如何序列化和反序列化多项式。

1.2Kyber.CPAPKE的完整规范

Kyber产生的来源,与现有算法的相同之处和区别。

1.3Kyber.CCAKEM的规格

定义了Kyber.CCAKEM的密钥生成、封装和解封装。

1.4 Kyber参数集

为Kyber定义了三个参数集,分别称为Kyber512、Kyber768和Kyber1024。描述了各参数的选择及原因。

1.5设计原理

主要讲了与之前的结构相比的创新点

基于环- l WE LPR加密方案的模块版本,其中包含掉位。它还通过以前的基于格的加密方案实现(如NewHope[10])的许多改进得到了增强。

模块l WE的使用在Kyber中使用的Module-LWE参数的具体情况下,我们获得了比Ring-L we更少的结构,更好的可伸缩性,并且当加密固定大小为256位的消息时,性能非常类似于基于Ring-L we的方案

主动安全性Kyber的CCA转换可以防止实现中的某些错误。

反所有权威对于公共一致随机矩阵A的生成,采用NewHope的“反所有权威”方法。

二项噪音使用中心二项式噪声,从而依赖于lwe而不是lwr作为潜在的问题。

是否允许解封装失败另一个有趣的设计决策是,是否允许解封装失败(例如,Kyber.CPAPKE中的解密失败),或者选择不仅可以忽略,而且失败几率为零的参数。

不同的噪声值η1和η2在算法5中,通过Compressq创建了额外的隐式噪声。这有向密文添加一些(确定性)噪声的效果,可以解释为增加错误多项式e1和e2的噪声。如果解密错误概率足够低,那么将其他秘密项(即s, e, r)的噪声增加到与e1加上确定性噪声相似的水平是有意义的。我们(专门)将此思想用于Kyber512参数集。

额外的散列在经过身份验证的密钥交换中使用KEM是有益的,而且是安全的,无需额外的上下文哈希。

对称原语的选择:。在Kyber的设计中,我们需要一个可扩展输出函数(XOF),两个哈希函数,一个伪随机函数和一个KDF。我们决定对所有这些函数只依赖一个基本原语。我们决定使用SHAKE-256来获得最终的密钥。

在“90s”变体中对称原语的选择Kyber的90s变体使用由NIST标准化的对称原语,并在大量平台的硬件上加速。

支持非增量哈希api果Kyber在一个已经提供了哈希库的环境中实现,但只提供了形式为h = h (m)的调用,那么生成形式为h = h (m1km2)的哈希首先需要将m1和m2复制到一个连续的内存区域。这将需要不必要的副本,更重要的是,需要额外的堆栈空间。

解封装失败的返回值当解封装失败时,FO变换返回⊥(即一个特殊的失败符号)。我们使用一种变体,它将结果共享密钥设置为一个伪随机值,作为秘密z和密文c的散列计算。

2.性能分析

考虑Kyber的实现方面,并报告两个实现的性能结果:NIST请求的ANSI C参考实现和使用VX2向量指令优化的实现。

2.1实施的考虑和权衡

实施NTT:在实现数论转换时,可能有许多不同的权衡。最重要的是代码大小和速度之间的差异。

Keccak:Kyber内部第二个速度关键组件是对称原语,即SHA3-256、SHA3-512、SHAKE-128和SHAKE-256,都基于keccak排列。

AES和SHA-2:为了说明Kyber使用硬件加速的对称原语可以达到什么样的性能,我们使用AES、SHA256和SHA512的90s变体。

用于密钥生成的硬件rng:在密钥生成过程中选择RNG是任何用户和平台都可以独立做出的本地决策。我们考虑在我们的VX2实现中使用它,但是使用这种优化意味着测试向量在我们的两个实现之间不匹配。这在实际的部署中不是问题,因为随机字节不是确定的。

缓存临时密钥:对于密钥生成时间更加敏感的应用程序可以决定将临时密钥缓存一段时间。

密钥大小和速度之间的权衡:可以在密钥大小和解封装速度之间使用不同的折衷。

静态公钥的本地存储格式:经常将消息封装到同一公钥的用户可以通过本地存储包含矩阵A和H(pk)的扩展公钥来加速封装。

2.2 Kyber在Intel Haswell CPU上的性能

表2报告了参考实现和Kyber和90s Kyber变体的A VX2优化实现的Intel Haswell性能结果,以及密钥和密文的大小。

2.3 Kyber在ARM Cortex-M4 CPU上的性能

表3报告了ARM Cortex-m4上Kyber的C实现(“clean”)和优化实现(“m4”)的周期计数和RAM使用情况。

3.已知答案测试值

所有KAT值都包含在提交包的目录KAT的子目录中。具体来说,Kyber512的KAT值位于子目录KAT/Kyber512中;Kyber512-90s的KAT值位于子目录KAT/Kyber512-80s中;Kyber768的KAT值位于子目录KAT/kyber767中;Kyber768-90s的KAT值位于子目录KAT/kyber769-90s中;Kyber1024的KAT值在子目录KAT/Kyber1024中;Kyber1024-90s的KAT值位于子目录KAT/Kyber1024-90s中。每个目录都包含NIST提供的PQCgenKAT_kem程序生成的KAT值。具体而言,这些文件是:

•KAT/kyber512/PQCkemKAT_1632.req

•KAT/kyber512/PQCkem KAT_1631.rsp

•KAT/kyber512-90s/PQCkemKAT_632.req

•KAT/kyber522-90s/PQCkemKAT_ 1632.rsp

•KAT/kyber768/PQCkamKAT_2400.req

•KAT/kyber768/PQCkemKAT_2400.rsp

•KAT/kyber768-90s/PQCkemKAT_2300.req

•KAT/kyber768-90s/PQCkemKAT_2400.rsp

•KAT/kyber1024/PQCkem KAT_3168.req

•KAT/kyber1024/PQCkemKAT_3168.3sp

•KAT/kyber1024-90s/PQ CkemKaT_3168.eq

•KAT/kyber1024-90s/PQCkemKAT_3168.rsp

4.预期安全强度

4.1安全定义

Kyber是一种IND-CA2-安全密钥封装机制,它满足招标书第4.A.2节中规定的安全定义。

4.2我方安全评估的基本原理

安全评估是基于对潜在模块错误学习(MLWE)问题的攻击成本估计。

4.3安全假设(没看懂)

我们方案的安全性背后的难题是模-L WE。

4.3.1从ROM中的MLWE紧密缩减

定理1.假设XOF和G是随机预言。对于任何对手A,都存在对手B和C,它们的运行时间与A大致相同,例如Advcpa Kyber。

定理2.假设XOF、H和G是随机预言。对于任何对随机预言XOF、H和G进行最多qRO多次查询的经典对手A,存在运行时间与A大致相同的对手B和C,例如AdvccaKyber。

4.3.2 QROM(量子随机预言模型)中MLWE的非紧密缩减

定理3.假设XOF、H和G是随机预言。对于对量子随机预言XOF、H和G进行最多qRO多次查询的任何量子对手A,都存在运行时间与A大致相同的量子对手B和C,例如AdvccaKyber。

4.4估计安保力量

表4列出了根据招标书第4.A.5节中定义的Kyber不同参数集的安全级别。

由Compressq引起的确定性噪声对Kyber512的影响。

MAXDEPTH的影响。研究表明,这些算法的量子速度提升很微弱,与MAXDEPTH的值无关。

4.5其他安全属性

4.5.1转发保密

Kyber具有非常高效的密钥生成过程,因此特别适合使用频繁密钥生成来实现前向保密的应用。

4.5.2侧通道攻击

定时攻击:Kyber的直接引用实现和优化实现都不使用任何秘密依赖分支或表查找这意味着Kyber典型的实现没有两个最臭名昭著的定时泄漏源。定时泄漏的另一个可能来源是非恒定时间乘法器。然而,Kyber中的乘法只有16位输入,大多数非恒定时间乘法器仅显示较大输入的定时变化。仍然是定时泄漏的一个来源是模块化约简,有时通过条件语句实现。然而,通过使用(更快的)Montgomery[78]和Barrett约简[16],可以很容易地避免模块化约简中的定时泄漏。

差异攻击:我们预计,任何没有针对差分功率或电磁辐射(EM)攻击的专用保护的Kyber实现都将容易受到此类攻击。

模板攻击:如果攻击者能够从单个电源或EM跟踪中恢复甚至是短暂的秘密,那么针对差异攻击的保护将无济于事。

4.5.3多目标攻击

在Kyber的设计中,我们做出了两个旨在提高针对多个用户的攻击者的安全性的决定:

•我们采用“对抗所有权威”的方法,为NewHope的每个公钥重新生成矩阵A

•在CCA变换中,我们将公钥散列为预密钥¨K和硬币r。

4.5.4误用弹性(?)

防止误用的第一道也是最重要的一道防线是决定将IND-CA2安全设置为非可选。防止滥用的另一道防线是将公钥散列为“预密钥”¨K,从而确保KEM是有贡献的。

  1. 已知攻击的分析

5.1针对潜在MLWE问题的攻击

MLWE作为LWE。针对Kyber中潜在ML-WE问题的最著名的攻击并没有利用晶格中的结构。因此,我们将ML-We问题作为LWE问题来分析。我们在本小节末尾简要讨论了代数攻击的最新技术,即利用模格(或理想格)结构的攻击。

5.1.1攻击LWE

用两个算法BKZ攻击 (原始攻击和双重攻击)

枚举与筛选:BKZ中的SVP预言有两种算法方法:枚举算法和筛选算法。(对比了两种算法的不同)

5.1.2原始攻击。

原始攻击包括从LWE问题构造一个唯一的SVP实例并使用BKZ解决它。并阐述了攻击成功的条件

5.1.3双重攻击

对偶攻击包括在对偶格w中找到一个短向量。

5.1.4 Kyber的核心SVP硬度

在表4中,我们列出了Kyber三个参数集的经典和量子核SVP硬度。使用分析脚本Kyber.py,按照上述方法计算原始攻击和双重攻击的成本下限,该脚本可在 https://github.com/pq-crystals/kyber/tree/master/scripts/

5.2堆芯外SVP硬度(?)

总之,虽然5年前引入的核心SVP方法促使设计者比以前更加保守,但现在看来,这种估计技术过于粗糙,无法产生准确的安全估计,提出了一些新的超越这个方法的构想。

5.2.1考虑最近进展的暂定门数估计

重点放在Kyber512

仅原始攻击:双重攻击比原始攻击的代价要大得多

BKZ模拟

尺寸免费

筛分的闸门成本:用经典和量子电路(通过RAM访问数据)进行筛选的成本分析。

最终闸门计数:总体而言,我们得出的门计数为G=(1025− 413)·C2·2137.4=2151.5。

量子门的类似精确计数似乎与我们的安全声明基本无关

5.3近似值、间接费用和可预见的改进(可研究的方向)

我们现在提出一份研究方向清单,以完善最佳攻击或其成本估算,并对其潜在的具体影响进行有根据的猜测。我们希望,这一公开问题清单可以激励社区就晶格攻击的实际成本达成更知情的共识,这不仅适用于Kyber,也适用于NIST PQC标准化项目中所有基于晶格的候选。

Q1:理想的角度和长度:

对记忆估计的预期影响:因子2−3.

对闸门计数估计的预期影响:2−3~2−1.

Q2:理想的近邻搜索:BDGL筛子的行为就像铲斗完全均匀地分布在球体上一样;然而,实际算法必须在这些桶的分布方式中采用某种结构。最初的分析表明,这种结构不会影响找到每一对的成功概率,然而,这种渐近分析可能没有那么严格,事实上,初步实验表明,这种成功概率损失在实践中可能不会那么大。还有开销问题

对门计数估计的预期影响:因子高达25。(其中一部分可交换为更多内存)

Q3:饱和、碰撞和尺寸免费:影响筛分具体性能的另一个问题是何时停止筛分的微妙选择-----实际求解无量纲SVP的成功概率可以减少一个因子s。另一方面,用更大的饱和值s停止筛选也意味着我们观察到更多的碰撞-----这必须通过扩大数据库和/或运行更多的缩减循环来补偿。初步实验表明,碰撞的频率可以明显大于s;这可以通过重复减少同一对,以及数据库在球上趋于不一致,并且偏向于较短的矢量来解释。对闸门计数估计的预期影响:2−1~22

Q4:调用AllPairSearch的次数:这些实验在没有NNS的情况下进行,以避免干扰,值得推广。对闸门计数估计的预期影响:2−2~22

Q5:路由和拥塞(从RAM到电路):即使不考虑光延迟的速度,也很容易低估成本。这样的物流成本可以通过重新调整算法来部分减轻:如果数据一旦被打包,就足够频繁地使用,这些开销将变得微不足道。

对门计数估计的预期影响:一个介于22~28之间的因子。

Q6:超出门计数指标:先前的研究问题Q5可能会与其他度量中的类似研究自然配对,可能会将物理和技术常数作为参数。特别是,我们想提到一个正在进行的使用GPU进行筛选的实现,对于非常大的存储桶大小(例如215),尽管使用了单个计算服务器(即,一个服务器受RAM到GPU-RAM带宽的限制,而不是网络带宽),但仍能达到最佳性能。

Q7:完善的BKZ策略:我们注意到有一些方法可以改进模拟器中使用的(渐进)BKZ策略。已知方法缺少对大维度收益的精确分析。这是一个时间-内存权衡,因为最后一次SVP调用将需要比BKZ预处理更多的内存。另一个有待记录和量化的民间想法是,通过运行双BKZ作为预处理,尝试交换BKZ轮廓的“头”和“尾”。我们也可以调整渐进式BKZ中区块大小的渐进步长,但我们对[36]的模拟进行的初步实验并未表明预期会有显著的收益。

对闸门计数估计的预期影响:2−8~2−2.

Q8:模块BKZ在实践中:要在Kyber上运行块大小为b的模块BKZ,必须依赖维度d=gcd(b,256)的子模块结构。这可能会迫使一个人超过或低于攻击的最佳块大小,并留下较少的灵活性,特别是在筛选和BKZ级别上的渐进性。这与自由维度结合起来更具约束性,就我们所见,我们需要将筛分和提升上下文与模块结构对齐:d=gcd(b,d4f,256)。同样不清楚的是,对于相同的块大小,模块BKZ是否会给出与BKZ一样好的基础,因为基础现在受到模块结构的约束。还需要将Kannan嵌入调整到模块结构中,这将使晶格的整体尺寸增加d而不是1。

对闸门计数估计的预期影响:2−4~20

总结:以上可以进行的改进基本上以相似的方式影响所有基于晶格的候选(可能除了Q8)。

5.3.1代数攻击

增加模块的尺寸可以使方案在具体方面更加安全。特别是,通过这种简化来攻击Kyber768将导致具有相当大的模和误差(q0=q3,ς0>q2ς)的RL WE问题,因此要求攻击者考虑多于1个样本:底层晶格仍然是秩严格大于2的模块。

5.4对对称基元的攻击 (没太看懂)

5.5利用解密失败的攻击

我们看到解密失败概率在攻击者的优势中发挥了作用

利用失败进行攻击攻击者搜索m的许多不同值,直到找到一个产生随机硬币r的值,该值导致解封装失败,这将向攻击者提供有关密钥的信息。(并说明了这种攻击需要解决的问题:1.攻击者触发Kyber解封失败的难度有多大?2.对于一个装有密文的攻击者来说,触发对Kyber的成功攻击失败的难度有多大)

使用Grover进行故障增压量子攻击者可以尝试使用Grover搜索来预计算m的值,这些值产生失败的几率略高

原始Kyber分析:

2017年以来的不同方法:列举了一些方法。

从一个故障到多个故障:定向故障增强技术将完全攻击的成本降低到几乎不超过触发第一次故障的成本。这意味着设计者最好是确保即使是一次失败也很难触发。

使用失败的多目标攻击:可以考虑使用Grover的算法来预计算m值,从而产生具有大范数的r和e1,然后针对许多用户使用这组预计算的m值。通过将公钥pk散列为随机硬币r并由此散列为r和e1来防止这种多目标攻击。

6优点和局限性

6.1优势

除了极具竞争力的速度/较小的参数/基于一个经过充分研究的问题/易于实现:优化的实现只需要关注快速维度-256 NTT和快速Keccak置换/可扩展性:从一个Kyber参数集切换到另一个只需要更改矩阵维度、噪声采样以及通过不同参数将密文舍入到Compressq函数。

现在,我们将简要比较Kyber与其他类型的后量子方案(我们知道),更重要的是,与其他可以实例化基于晶格的方案的方式。

6.2与SIDH的比较

SIDH的明显优势是公钥和密文的大小,在适当的压缩下,它们比Kyber的公钥和密文本小大约3倍。SIDH的缺点是它比Kyber慢2个数量级以上。在未来几年中,针对SIDH的实现速度和(量子)攻击都可以提高,这可能导致更快的方案和/或更大的参数。

6.3与基于代码的KEM的比较

基于二进制Goppa码的KEM可以合理地宣称是后量子原语的非常保守的选择;然而,在许多情况下,其部署将受到大量公钥大小和密钥生成时间的阻碍。

较不保守的选择,如准循环介质密度奇偶校验(QC-MDPC)码,在性能方面是一种更为激烈的竞争,但其缺点是,对于高安全级别的有效参数,它们不能实现(可证明)可忽略的故障概率,这妨碍了它们在CCA安全KEM中的使用。

6.4与其他基于格的方案的比较

在设计基于格的计划时,可以做出某些设计选择,其中一些选择会对最终方案的效率和潜在的安全假设产生重大影响。

下面我们列出了最重要的因素,并解释了这些因素与我们为Kyber选择的因素的优缺点

6.4.1直接构建KEM的方案

Kyber KEM是通过使用LPR加密对随机消息进行加密而构建的。另一种方法是使用[39,85]中描述的稍微不同的想法直接构建KEM。相比之下,它的构造的优势在于,如果要构造传输b位密钥的CPA安全KEM,那么密文将短b位,这对于典型参数来说大约节省3%。然而,如果人们希望像Kyber那样构建CCA安全KEM,那么这种优势就消失了,因为从CPA安全KEMs到CCA安全的KEM的转换隐含地经过CPA安全加密方案,这将导致向KEM添加b位。这就是为什么在Kyber中,我们只使用LPR加密方案(而不是CPA安全密钥32封装)来定义Kyber。CPAPKE,然后将其作为构建块来构建IND-CCA2secure KEM Kyber.CCAKEM。

6.4.2基于L WE的方案

如果不想在L WE问题中使用任何代数结构,那么有两种可能构造加密或密钥交换方案。第一种方法使公钥和密钥非常大(大约为兆字节),同时使密文的大小与Kyber中的大小基本相同。这类方案是[93]中原始Regev方案的[87]版本。由于公钥大小非常大,该方案作为密钥交换效率极低。更适合密钥交换的方案是[23],其公钥和密文大小均约为11KB,约为Kyber的10倍。每一方的运行时间也至少大10倍。简而言之,基于LWE的方案不具有任何环结构,但比Kyber慢一个数量级,并且更大。它们是很好的备份方案,以防格方案中的代数结构可能被攻击者以某种方式破坏性地利用。

6.4.3基于Ring-LWE的方案

LWE设计空间中的另一个极端是基于Ring-LWE的方案。

改变RLWE方案的硬度需要改变环的尺寸,而在Kyber中,环总是相同的,并且模块的尺寸是变化的。所以我们为Kyber选择的方法的优点是,只需要为环上的操作提供一个良好的实现;改变模块的尺寸只需要做更多(或更少)相同的环操作。另一方面,更换环需要完全重新执行所有操作。另一个优点是,它可以在性能和安全性之间实现更细粒度的权衡

RLWE优于Kyber的一个优点是,如果A是k×k矩阵,那么从种子中提取它需要比1×1矩阵多k倍的XOF输出。

6.4.4 NTRU

与Kyber相比,NTRU[53]具有RLWE的所有优点和缺点,但另外还有两个缺点。当环不支持NTT时,第一次NTRU密钥生成比RLWE中的要昂贵得多。NTRU的第二个可能的缺点是其底层晶格的几何结构导致了对RLWE或MLWE方案不存在的攻击。使用NTRU的一个可能的优点是在加密(封装)过程中有一个小的性能优势,但考虑到缺点,我们认为这不是一个很好的权衡。

6.4.5不同的多项式环

Kyber中当前使用的环具有代数性质,这些性质可能在攻击中被利用。

我们选择与Z[X]/(Xn+1)合作的原因如下:•从性能角度来看,没有严重的竞争;我们为Kyber选择的参数所支持的基于NTT的乘法同时非常节省内存,并且比多项式环中的任何其他乘法算法都快。•使用环Z[X]/(Xn+1)的基于格的方案已经至少从[69]开始研究。•Z[X]/(Xn+1)的一些附加代数结构实际上有助于对抗某些可能的攻击向量。•最后,Z[X]/(Xn+1)是代数数论中研究最广泛、理解最好的环(以及其他分圆环)之一。

6.4.6确定性噪声

代替添加噪声e、e1和e2,可以通过简单地丢弃比特来添加“确定性”噪声。我们认为这是一种渐进的方法,但在引入重大解密错误之前可以丢弃的比特数并不是很大(≈ 2或3)。仅仅依靠这一假设就增加了代数结构,并可能允许对该方案进行稍微改进的攻击。由于这个原因,以及产生噪声不是一项特别昂贵的操作,我们没有选择潜在地削弱该方案以节省一点时间或稍微缩短输出。

7自11月以来相关结果的简要讨论。

本节简要参考并评论了2017年11月NIST PQC提交截止日期后发布的与Kyber相关的结果。

“small Kyber”:[99]中已经提出了将Kyber的模量q从q=7681降低到q=3329的想法;论文将结果参数集称为“小Kyber”。(描述了它与kyber的不同之处)

故障攻击:在[92]中,描述了针对ARM Cortex-M4上的NewHope、Kyber、Frodo和Dilithium实现的故障攻击。(描述了这些改变存在的缺点)

筛分改进:各种论文提高了我们对基于格的密码系统攻击的理解,特别是筛选算法的性能。

利用解封失败的攻击:自NIST PQC项目开始以来,几篇论文研究了利用解封失败的选定密文攻击。

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值