一个研究的错误地板上行为在QC-MDPC代码 莎拉Arpin1,泰勒乌鸦首度登场2,丹尼尔Rayor所3,小君薄刘4,雷Perlner5,和 安琪拉罗宾逊5 1大学的科罗拉多州博尔德市部门的数学 2圣。奥拉夫大学的时候,部门的数学,统计数据,和电脑科学 3波士顿大学,部门的数学&统计数据 4大学的加州圣迭戈,部门的数学 5国家研究所的标准和技术,电脑安全部门 摘要我们现在实验发现在的解码失败率(DFR)的自行车, 一个第四轮候选人在的NISTPost-Quantum标准化过程中,在的20- 位安全的水平。我们选择参数根据来自行车设计原则和行为 一个系列的实验。我们直接计算的平均DFR在一个范围的自行车块 大小和识别这两个的瀑布和错误地板上地区的的DFR曲线。我们然后 CNN 研究的影响在的平均DFR的三个集,,和2的near-codewords—向量的低重量那诱导综合症的低重量—定义通过Vasseur在2021.我们找到那错误向量领先的来解码失败有小最大支持十字路口 与元素的这些集;此外,的分布的十字路口是相当类似的来那 CNN 的抽样随机错误向量和计数的十字路口与,,和2.我们的结果表明那这些三个集是不足够的在分类向量预期来导致 解码失败。最后,我们研究的角色的并发症状重量在的解码行为和结论那的集的错误向量那引领来解码失败不同从随机 向量通过有低并发症状重量。 关键词:自行车,纠错代码,McEliece,PQC,QC-MDPC 1介绍 在2016,的美国国家研究所的标准和技术(NIST)宣布一个后量子密码学(PQC)标准化过程目的是在更新NIST的公开密匙cryp-tographic标准来包括post-quantum密码学,那是,加密算法那 是认为来是安全反对攻击通过一个量子电脑。一个的的剩下的基于代码候选人在的NISTPQC标准化过程是自行车,一个密码系统基于在准循环 温和的密度奇偶校验检查(QC-MDPC)代码。 的自行车密码系统是最初设计为短暂的使用,那是在设置在哪里一个 克姆关键一对是生成的为每一个关键交换。的要求为自行车来是使用短命。盟友提供了一个对策来一个反应攻击通过数次[在一个攻击者可以使用"------ 边缘的消息那引领来解码失败来恢复的私人关键的一个计划。在的第二个和第三轮的的NISTPQC过程中,自行车提出了参数集那是 设计来提供安全在的static-key设置[那是,一个设置在哪里克姆关键双可以是重用为几个关键交流。在事实所有的参数集在的第三轮规范的 自行车是设计来是安全在的static-key设置,虽然他们做不正式索赔来是安全在这设置。而安全在的短暂的设置可以是提供通过一个计划会议 的较弱的IND-CPA安全的概念,安全在一个static-key设置需要一个计划会议的更强的IND-CCA2安全的概念。实现IND-CCA2安全需要那自行车的译码器有一个足够低解码失败率(DFR),这两个因为的安全证明的自行车在的 IND-CCA2设置假设一个低DFR,和因为如果一个QC-MDPC密码系统与一个足量,地高DFR是使用在的static-key设置,它将允许一个攻击者来执行的数次 攻击与一个高概率的成功。 通过设计,它是不可行的来直接计算一个平均DFR为自行车在cryptographi- 卡莉有关安全的水平。它是可能的来测量dfr为小代码大小和然后使用外推法方法来估计的DFR为更大的参数[17一个必须考虑的 现象已知的作为的错误地板上地区的DFR曲线来避免一个低估的DFR为 更大的代码大小。它是已知的那为方法,和MDPC代码,的对数的的DFR滴显著快比线性,和然后线性作为的信噪比比是增加[ 因此一个典型的DFR曲线包含一个凹瀑布地区之后通过一个近似线性错误地板上地区。一个必须准确地预测的错误地板上的一个DFR曲线来准确地预测的DFR为密码地有关代码大小。 的错误地板上地区为低密度奇偶校验检查(LDPC)代码有被广泛分析了 × 在的文学。这些是代码哪一个可以是定义通过奇偶校验检查矩阵H与行 kn 汉明重量在的订单的O(1),或向上来O(日志(2n)).为每一个奇偶校验检查矩阵,在那里 是一个相应的一式两份的图,已知的作为一个坦纳图。多分析的迭代方法,解码行为集中在属性的坦纳图表示的的代码[ 这样的作为识别停止集和被困集. 最近工作[有被认为是几个因素影响的DFR的QC-MPDC代码:选择的译码器[类的弱键,和集的有问题的错误模式。它是指出那 错误向量与一个小汉明距离从有问题的错误patterns-error向量的低重量那发出综合症的低体重是重要的贡献者来的错误地板的 QC-MDPC代码和它是得出的结论那这些向量是罕见的足够的来不影响的整体 DFR预测为更高的代码大小。 在这工作,我们检查的错误地板上行为的QC-MDPC代码和焦点在一个按比例缩小的,下来版本的自行车。现有的分析的的DFR为自行车[依赖在推断基于 只有在修改的块的大小,但这分析是只有准确的如果一个上绑定可以是建立了为的DFR在哪一个的过渡来错误地板上行为发生(见如。假设 3在页面7的[Vasseur的论文使用实验与错误向量基于在已知的类的 码字和near-codewords来给一个上绑定为的过渡DFR。我们试一试来直接测量的过渡点和看到如果它可以是建模基于在的已知的贡献来 错误地板上行为描述在Vasseur的论文,但我们不能直接测量的过渡点为加密大小参数,自那过渡发生在太低一个DFR。我们使用的 Black-Grey-Flip译码器[的推荐自行车译码器作为的的时间的写作,和过滤器出任何键归属感来的类的弱键定义通过[我们考虑的三个集的 附近码字作为定义在[和找到那错误向量那引领来解码失败有小(之间2和8比特)支持十字路口与元素的这集。我们结论那错误向量那发出综合症的低重量是重要的贡献者来解码失败,但是 不完全捕获通过的集的附近码字定义在[ 2背景 2.1编码理论和QC-MDPC代码 在这文档,让F表示的有限的场的2两个元素。为r∈N,x∈Fr,让|x| 表示的汉明重量的x.为两个向量x,y∈Fr,让x⋆=(x·y,x·2y,...,x 2 0011) r−1·yr−1 C∈NCF→F 表示的舒尔产品。让(n,k)是一个二进制线性代码,n,k.然后:kn地图22 信息单词来码字和的集的2k码字形式一个k维空间向量空间 的Fn.让B=[b,b0,..1.,b]是一个基础为这子空间,b∈Fn.然我后的代码C可以是 2 2 描述通过一个发电机矩阵 k−1 b b0 . 1 G=b.. k.−1 2 c 的代码可以同样是描述通过一个奇偶校验检查矩阵H∈Fn−k×n哪一个是一 C 发电机矩阵为的双代码=x k×n−k ⊥[∈Fn2:∀∈C 个 Fn ,x·c=0.]因此的后的关系 是适用的:HGT=0∈F2 .为任何向量y∈,和奇偶校验检查矩阵H,的矩阵向量 2 产品沪元T=年代∈Fn−k TF2−k,y是一个 码字(例如,y∈C). 2是已知的作为的并发症状为任何y这样的那沪元=0∈ 是一个转变来的正确的的的 一个v×v循环矩阵是一个广场矩阵这样的那每一个行r 我+1 以前的行r为我我∈[0,1,...,v−1].的环的v×v循环矩阵在F是同构来2 的多项式环F[x]/⟨xv+12⟩.一个准循环(质量控制)矩阵是一个块总和的循环矩阵。 2.2自行车 Bit-flipping关键封装(自行车)是一个密码系统基于在二进制线性代码与准 r×2r 循环结构和适度稀疏的私人键[的私人关键H∈F2 两个循环块:H,H的大0小r1×r与r主要的和这样的那xr−1有只有两个不可约 是组成的 因素模2.的列的H有重量d和的行h的H是这样的那|h| 我我 =w=2d 的代码。 为所有我∈[0,...,r−1].MDPC代码参数满足行重量w≈n为n的长度的√ 在一个高的水平,的公开密匙加密系统潜在的的自行车克姆是组成的三个算法:关键一代,加密,和解密。的关键一代算法生成一个 |∈ 私人关键H=[HH0]1Fr2×2r和公共关键H′是H在系统的形式(H′=H−1H).来0 加密一个消息米,一个发送方必须编码米成一个向量e的合适的重量t,然后计算 的并发症状He′=年代.的接收机解密通过解码的并发症状年代使用的秘密关键H 和一个预定义的并发T症状解码算法。的推荐自行车并发症状译码器作为的的时间的写作是的Black-Grey-Flip译码器[ 让λ表示的安全参数和让H表示一个自行车秘密关键。的安全的自行车取决于在的没有能力的一个攻击者来打破(变种)的并发症状解码问题(年代)。的最好的已知的攻击是信息集解码(ISD)算法,第一个介绍了在1962通过 Prange[和晚些时候改进的在几十个的作品屈服小改变在的整体渐近成本。(见[为一个不完列表)。因此,为自行车来实现λ位的安全反对 的最好的已知的ISD攻击[的自行车团队确定那 λ≈t− 1 2日志2r≈w−日志2r 在哪里r表示的循环块大小的H,w表示的行重量的H,和t表示的重量的的错误向量在哪一个一个消息是编码[ 2.3弱键和附近码字 为安全水平λ,的平均解码失败率DFR −λ D,H 为一个IND-CCA安全密码系统 ≤D 应该是2在哪里表示的译码器和来是弱如果: H的关键空间。一个集W⊂H 的键是说 |女|DFR H|| D,W >2−λ≥DFR . D,H 在[Ch。15],Vasseur标识三个类型的弱键为的自行车密码系统: –类型我:键与许多连续非零位在的行的一个的的循环块,第一个确认通过[ –类型2:键与非零位在许多常规的时间间隔在的行的一个的的循环块。 –类型第三:键与许多十字路口之间的的列的的两个循环块。 它是已知的那一些集的向量是更多的可能来导致解码失败比在平均水平。一个(u,v)-附近码字为一个奇偶校验矩阵H是一个错误向量e与汉明重量u谁的并发症状年代=他T有重量v[当u,v是小,这些附近码字可以是 可能来导致解码失败[基于在的结构的自行车,Vasseur定义了三个集与小u,v作为如下: –C:向量哪一个形式的行的的发电机矩阵G=[HT|HT];这些是码字1的0 | 重量w为的秘密关键H=[HH].01 N∈ –:的集的(d,d)附近码字的的形式(v,0)或(0,v),0在哪里0Fr1和v是一个行2我 的的循环块H的的奇偶我校验检查矩阵。 01 –2N:的集的向量形成通过总结的两个向量在N.由于来的小机会的可以,cellation,一个五月考虑的集2N作为(w−ϵ,w−ϵ)附近码字为一些小ϵ我≥0,我∈[0,1]. 3方法 密码地有关dfr是太低(<2−128)来直接测量;它是只有可能的来测量dfr为小代码大小,然后使用外推法方法来估计的DFR来更大的 参数。一些例子的这方法可以是发现在[918在这正在进行的工作,我们开始通过分析的解码行为为自行车参数集针对20位的安全在 几个实验。 参数是选择根据来自行车设计原则与的最大错误重量t 减少来防止任何无意中做的增加在解码失败。最初的选择参数是作为 ≤≤− 如下:(r,w,t,λ)=(523,30,18,20).晚些时候我们包括389r827为主要的r这样的那xr1 有只有两个不可约因素模2. 我们使用的Black-Grey-Flip(整编)译码器在所有实验。我们使用的原始阈值选择函数,定义在部分2.5.1的的自行车v1.0规范[来计算的bit-flip 阈值为所有实例。的仿射阈值功能在的当前的版本的自行车是派生的从这原始阈值规则。我们预先计算的的值使用在的阈值函数和存储他们在一个哈希表格为缓解的计算。 Vasseur标识三个类的弱键那阻碍解码(见部分2.3为的定义的这些类)和描述了一个算法为过滤出弱键[算法 ≥ 15.3].我们实现这算法和使用它来拒绝弱钥匙。的定义的弱关键取决于在一个参数T,哪一个Vasseur集来10为自行车参数在的密码地有关范围(λ128).(注意那小值的T的意思是那