掌桥专利:专业的专利平台
掌桥专利
首页

用于基于网格的密码术的多项式的掩蔽分解

文献发布时间:2024-04-18 19:58:26


用于基于网格的密码术的多项式的掩蔽分解

技术领域

本文中所公开的各种示例性实施例大体上涉及用于基于网格的密码术的多项式的高效和掩蔽分解。

本文中所公开的各种示例性实施例大体上涉及用于基于网格的密码术的多项式的高效和掩蔽分解。

背景技术

量子计算中的最新的显著进步已将研究加速到后量子密码术方案:在经典计算机上运行但被认为即使当面对用量子计算机进行访问的对手时仍安全的加密算法。此需求通过来自标准化主体的关注而得到驱动,例如美国国家标准与技术研究所(NIST)对提出新公钥密码术标准的号召。此新加密标准的选择过程已开始,且已进一步加快后量子密码术方案的研究。

存在对实例化这些后量子加密方法的各种系列的问题。基于网格硬度问题的构造被认为是有希望成为下一标准的候选项。在此系列内考虑的方法的子集是容错学习(LWE)框架的实例化:环上容错学习问题。主要的基于网格的签名方案中的一个是需要涉及具有整数系数的多项式的算术的运算的Dilithium。当实施时,主要计算上昂贵的运算为多项式的算术运算。更确切地说,计算是在环

发明内容

下文呈现各种示例性实施例的概述。可在以下概述中作出一些简化和省略,所述概述意图凸显并引入各种示例性实施例的一些方面,而非限制本发明的范围。足以允许本领域的普通技术人员产生并使用本发明概念的示例性实施例的详细描述将在后续部分呈现。

各种实施例涉及一种数据处理系统,所述数据处理系统包括实施于非暂时性计算机可读介质中的指令,所述指令用于在处理器中进行用于基于网格的密码术的加密运算,所述加密运算包括将具有n

描述各种实施例,其中执行多项式a除以基数α的舍入欧几里德除法以计算t

描述各种实施例,其中执行多项式a除以基数α的舍入欧几里德除法以计算t

描述各种实施例,其中计算所述低部分a

另外的各种实施例涉及一种数据处理系统,所述数据处理系统包括实施于非暂时性计算机可读介质中的指令,所述指令用于在处理器中进行用于基于网格的密码术的加密运算,所述加密运算包括将具有n

描述各种实施例,其中执行多项式a除以基数α的舍入欧几里德除法以计算t

描述各种实施例,其中执行多项式a除以基数α的舍入欧几里德除法以计算t

描述各种实施例,其中计算所述低部分a

另外的各种实施例涉及一种数据处理系统,所述数据处理系统包括实施于非暂时性计算机可读介质中的指令,所述指令用于在处理器中进行用于基于网格的密码术的加密运算,所述加密运算包括将具有n

描述各种实施例,其中执行多项式a除以基数α的舍入欧几里德除法以计算t

描述各种实施例,其中执行多项式a除以基数α的舍入欧几里德除法以计算t

描述各种实施例,其中计算所述低部分a

附图说明

为了更好地理解各种示例性实施例,参看附图,其中:

图1在一些方面中构成一种抽象化,且装置的组件的实际组织可能比示出的情况更复杂。

为了便于理解,相同参考数字已用于表示具有大体上相同或类似结构和/或大体上相同或类似功能的元件。

具体实施方式

描述和附图示出了本发明的原理。因此将了解,本领域的技术人员将能够设计各种布置,尽管本文中未明确地描述或示出所述布置,但所述布置体现本发明的原理且包括在其范围内。此外,本文中所引述的所有例子主要意在明确地用于教学目的,以帮助读者理解本发明的原理和由发明人提供的用以深化本领域的概念,且所有例子应视为并不限于此类特定引述例子和条件。另外,除非另外指明(例如,“否则”或“或在替代方案中”),否则如本文中所使用的术语“或”指非独占的“或”(即,“和/或”)。并且,本文所描述的各种实施例不一定相互排斥,因为一些实施例可以与一或多个其它实施例组合以形成新的实施例。

一些后量子密码术方案需要多项式系数的分解或类似于截断的运算。对于无保护的实施方案,这可以经由不同算法直接实现,主要涉及欧几里得除法或用于二的幂基数和模数的简单截断。一个系列的攻击,即所谓的侧信道分析,利用目标装置的物理测量(例如,功率消耗)中的数据依赖来恢复秘密密钥,可以借助于对已处理数据进行掩蔽来阻止此攻击。分解运算需要保护,因为其输入和输出取决于秘密密钥。然而,用于掩蔽分解的先前或直接的技术对于非二的幂基数和模数带来了显著的性能开销。在本公开中,呈现一种新方法以针对非2的幂模数安全地且有效地执行掩蔽分解。

数字签名方案的签名运算使用秘密密钥产生用于给定消息的签名。如果此秘密密钥已泄漏,那么这将使由方案提供的安全特性失效。已经证明,后量子签名方案的无保护实施方案易受例如侧信道分析的实施攻击的影响。特定来说,已证实,可以在签名运算中从密钥相依性部分的物理测量中提取秘密密钥。

对于Dilithium,密钥相依性运算包含基数为α的多项式的分解。具体来说,对于系数

掩蔽是用于阻止侧信道分析的常见对策,且已用于各种应用。除安全性之外,当设计掩蔽算法时,效率也是重要方面。掩蔽的软件实施方案的重要度量是掩蔽方案所需的运算的数目和新随机元素的数目。

在Vincent Migliore、

相似的对Dilithium的基于网格的签名方案包含GLP和qTESLA。在Gilles Barthe、Sonia

本文公开的分解方法改进了当今技术水平,实现了需要具有非2的幂模数的分解运算的后量子密码术(PQC)方案的显著更高效实施方案。此PQC方案的例子是包含通过基数α对秘密多项式系数的分解的Dilithium。本文所公开的分解方法改进了运算的数目和所需的随机元素的数目。

SecDecomposeOriginal(或在Migliore的文章中称为算法12分解,其中为了更好的可读性而改编名称)首先计算a

SecDecomposeOriginal包含以下缺陷。第一,因为分解函数的输出a

因此,对于用于一个Dilithium签署迭代的NIST等级5和d=5,SecDecomposeOriginal花费约24.2百万次运算和100,3百万个随机位。所提出的SecDecomposeA2Apow2花费8百万次运算和38百万个随机位用于同一任务。对于考虑了签署迭代的平均数目(=5.1)的NIST等级3且对于d=5,SecDecomposeOriginal花费92.6百万次运算和383.9百万个随机位。相比之下,所提出的SecDecomposeA2Apow2仅需要30.8百万次运算和145.3百万个随机位。

当基数的倒数的相反数是二的幂时,函数SecDecomposeA2Apow2和SecDecomposeA2Bpow2提供高效分解。第一函数SecDecomposeA2Apow2通过以算术共享值提供a

本文公开的分解函数的改进是基于首先使用除以α的四舍五入除法来计算a

所公开的具有舍入除法的分解函数还允许计算a

所公开的分解函数可以应用于任意非2的幂模数q和任意的分解基数α。提供多个分解函数版本:即当-α

所公开的分解函数的应用可以包含Dilithium的签署过程,其中分解秘密向量w的系数。具体来说,w的每一系数

w的系数必须保持为秘密的,以确保签名方案的安全。常见方法是将敏感值划分成布尔型或算术共享值。布尔型或算术掩蔽变量x可以分别表示为x

现将描述新公开的分解函数SecDecomposeA2Apow2、SecDecomposeA2Bpow2和SecDecomposeA2Anotpow2。

函数SecDecomposeA2Apow2专用于ζ=-α

即:

u=t-a

行7和8涉及将u除以α

下方的伪码中示出的函数SecDecomposeA2Bpow2呈现了当需要布尔型共享值以用于a

函数SecDecomposeA2Anotpow2是针对ζ不是2的幂的情况。它基本上执行与SecDecomposeA2Apow2相同的运算。然而,在此情况下,在SecDecomposeA2Apow2中的行4的“与(AND)”运算无法执行以提取a

现在提供本文所描述的函数中使用的辅助变量和函数的说明。

q:模数。其针对Dilithium等于q=2

γ:低阶舍入范围。其针对Dilithium的NIST安全等级3和5等于

α:分解基数。其等于2γ。

α

ζ:α

n:在ζ是2的幂,即ζ=2

n

A2B:此函数将ns个算术共享值

B2A

∧:此函数计算两个输入的逐位“与(AND)”运算。在布尔型掩蔽情形中,如果输入中的一个是常数或公共值,那么∧运算独立地应用于另一输入的每一个共享值。

>>:此函数计算输入位串的逐位右移。在布尔型掩蔽情形中,>>运算独立地应用于另一输入的每一个共享值。

此函数计算输入位串的逐位求反。当应用于布尔型共享输入时,仅一个共享值必须求反,因为/>

+/-:此函数计算输入的算术加法或减法。当应用于一个算术共享输入和一个公共输入时,仅一个共享值必须包含在加法或减法中,因为(P+Q)+R=P+(Q+R)。

×:此函数计算输入的算术乘法。在算术掩蔽情形中,如果输入中的一个是常数或公共值,那么×运算独立地应用于另一输入的每一个共享值。

现将所公开的分解函数与SecDecomposeOriginal进行比较。使用SecDecomposeOriginal的缺点之一是它需要138n

现将作出针对SecDecomposeA2Apow2和SecDecomposeA2Bpow2所需的运算次数的比较。假设n

针对基本函数所需的运算次数在表1中提供,且针对SecDecomposeA2Apow2、SecDecomposeA2Bpow2和SecDecomposeOriginal所需的运算次数在表2中提供。不包含在遵循SecDecomposeOriginal和SecDecomposeA2Bpow2的Dilithium中针对a

表1.用于不同函数的运算次数。

表2.用于SecDecomposeA2Apow2、SecDecomposeA2Bpow2和

SecDecomposeOriginal的运算次数。

接下来,将在原始算法和新分解函数中需要产生的随机位的数目进行比较。SecDecomposeOriginal产生大量随机位来掩蔽公共值以便直接执行掩蔽加法。在SecDecomposeA2Apow2中不需要公共值的掩蔽,且仅SecDecomposeA2Bpow2需要随机性以掩蔽恒定公共值γ+1来执行掩蔽加法。

比较性结果汇总于表3和4中。其中r

表3.用于不同函数的随机位的数目。

表4.用于SecDecomposeA2Apow2、SecDecomposeA2Bpow2和SecDecomposeOriginal的随机位的数目。

表1到4中示出的计算示出所公开的分解函数减少了执行分解函数所需要的运算和随机位的数目。

由使用本文公开的分解函数的实施方案得到的对策提供了优于现有技术的技术优点,就是与现有实施方案相比需要更少的计算且和更少随机位的产生。这将允许在具有有限处理资源的更多应用中实施基于网格的后量子密码术方案。

图1示出用于通过使用函数SecDecomposeA2Apow2、SecDecomposeA2Bpow2和SecDecomposeA2Anotpow2实施掩蔽多项式分解的示例性硬件图式100。如所示,装置100包括经由一个或多个系统总线110互连的处理器120、存储器130、用户接口140、网络接口150以及存储装置160。应理解,图1示出用于通过使用函数SecDecomposeA2Apow2、SecDecomposeA2Bpow2和SecDecomposeA2Anotpow2实施掩蔽多项式分解的示例性硬件图式。

处理器120可以是能够执行存储于存储器130或存储装置160中的指令或以其它方式处理数据的任何硬件装置。如此,所述处理器可以包括微处理器、微控制器、图形处理单元(GPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其它类似装置。处理器可实施为安全处理器,或可包含安全处理器和不安全处理器两者。

存储器130可以包括各种存储器,例如,L1、L2或L3高速缓冲存储器或系统存储器。如此,存储器130可包括静态随机存取存储器(SRAM)、动态RAM(DRAM)、快闪存储器、只读存储器(ROM),或其它类似存储器装置。

用户接口140可包括用于根据需要实现与用户通信的一个或多个装置。举例来说,用户接口140可包括显示器、触摸接口、鼠标和/或键盘以用于接收用户命令。在一些实施例中,用户接口140可包括可通过网络接口150呈现给远端终端的命令行接口或图形用户接口。

网络接口150可包括用于使得能够与其它硬件装置通信的一个或多个装置。例如,网络接口150可包括被配置成根据以太网协议或其它通信协议(包括无线协议)进行通信的网络接口卡(NIC)。另外,网络接口150可实施TCP/IP栈以用于根据TCP/IP协议通信。用于网络接口150的各种替代的或额外的硬件或配置将是显而易见的。

存储装置160可以包括一个或多个机器可读存储介质,例如只读存储器(read-only memory,ROM)、随机存取存储器(random-access memory,RAM)、磁盘存储介质、光学存储介质、闪存存储器装置或类似存储介质。在各种实施例中,存储装置160可以存储用于由处理器120执行的指令,或者可以存储数据,处理器120可以对这些数据进行操作。例如,存储装置160可存储用于控制硬件100的各种基本操作的基本操作系统161。存储装置162可包括用于通过使用上文描述的函数SecDecomposeA2Apow2、SecDecomposeA2Bpow2和SecDecomposeA2Anotpow2实施掩蔽多项式分解的指令。

很明显,描述为存储于存储装置160中的各种信息可另外或替代地存储于存储器130中。在这方面中,存储器130也可被视为构成“存储装置”,并且存储装置160可被视为“存储器”。各种其它布置将显而易见。另外,存储器130和存储装置160都可以被视为“非暂时性机器可读介质”。如本文中所使用,术语“非暂时性”将被理解为不包括暂时性信号,但是包括所有形式的存储装置,包括易失性存储器和非易失性存储器这两者。

虽然主机装置100示出为包括每个所描述的组件中的一个组件,但是在各种实施例中,各种组件可以重复。例如,处理器120可以包括多个微处理器,所述微处理器被配置成独立地执行本文中所描述的方法,或被配置成执行本文中所描述的方法的步骤或子例程,使得多个处理器协作实现本文中描述的功能性。另外,当在云计算系统中实施装置100时,各种硬件组件可以属于单独的物理系统。例如,处理器120可以包括在第一服务器中的第一处理器和在第二服务器中的第二处理器。

如本文所使用,术语“非暂时性机器可读存储介质”应理解为不包括暂时传播信号,但包括所有形式的易失性和非易失性存储器。当软件实施于处理器上时,软件和处理器的组合变成单个特定机器。尽管已详细描述了各种实施例,但应理解,本发明能够具有其它实施例,并且能够在各种显而易见的方面中修改其细节。

由于实施本发明的数据处理大部分由本领域的技术人员已知的电子组件和电路构成,因此为了理解和了解本发明的基本概念并且为了不混淆或偏离本发明的教示,将不会以任何比上文所示的认为必要的程度更大的程度来解释电路细节。

虽然本文中参考具体实施例描述了本发明,但是在不脱离如所附权利要求书所阐述的本发明的范围的情况下可以进行各种修改和改变。因此,说明书和附图应视为示意性而不具有限制性意义,并且所有这些修改旨在都包含在本发明的范围内。并不希望将本文中相对于特定实施例描述的任何益处、优势或针对问题的解决方案理解为任何或所有权利要求的关键、必需或必不可少的特征或元件。

此外,如本文中所使用,术语“一”被定义为一个或多于一个。而且,权利要求书中例如“至少一个”和“一个或多个”等介绍性短语的使用不应解释为暗示由不定冠词“一”导入的另一权利要求要素将含有此引导的权利要求要素的任何特定权利要求限制为仅含有一个此要素的发明,甚至是在同一权利要求包含介绍性短语“一个或多个”或“至少一个”和例如“一”等不定冠词时。这同样适用于定冠词的使用。

除非以其它方式陈述,否则例如“第一”和“第二”等术语用于任意地区别这些术语所描述的元件。因此,这些术语未必意图指示此类元件的时间或其它优先级排序。

在处理器上运行以实施本发明的实施例的特定软件的任何组合构成特定专门机器。

本领域的技术人员应了解,本文中的任伺·框图表示体现本发明的原理的说明性电路的概念视图。

相关技术
  • 一种基于多项式求根的无网格稀疏谱估计方法
  • 基于随机网格和多项式的图像秘密共享方法
技术分类

06120116494284