一种用于LWE公钥密码的错误协调方法与流程

文档序号:17860684发布日期:2019-06-11 22:50阅读:629来源:国知局
一种用于LWE公钥密码的错误协调方法与流程

本发明涉及密码学技术领域,尤其涉及一种用于lwe公钥密码的错误协调方法。



背景技术:

近年来,随着量子计算理论的发展,现有公钥密码体制在量子计算模型下的安全性受到了极大的挑战。例如目前广泛使用的rsa公钥密码体制或椭圆曲线公钥密码体制,其依赖的困难数学问题——大整数分解或椭圆曲线群上的离散对数问题,在量子计算模型下均存在多项式时间的高效求解算法。这促使研究人员开始设计能够抵抗量子计算机攻击的密码,即“后量子密码”。目前,后量子密码的研究已成为一个极重要和活跃的新兴密码学方向,许多发达国家已着力加强后量子密码的研究,并设立了各类重大研究支持计划。美国国家安全局(nsa)已于2015年8月宣布了抗量子密码算法的迁移计划。同年,美国国家标准与技术研究院(nist)开启了后量子密码算法的征集与评估。根据底层困难数学问题的不同,后量子密码主要可以分为:基于编码的密码,基于格的密码,基于哈希的密码,以及基于多变量的密码。lwe公钥密码是一类重要的基于格的后量子公钥密码。

基于lwe问题设计公钥密码算法的一个关键是错误协调问题。例如alice将消息u通过lwe公钥密码加密为密文v,并将v发送给接收方bob,bob在解密密文v时通过计算只能得到w=u+e,这里e为高斯错误。错误协调问题即从向量w=u+e中消除错误e得到消息u的问题。一方面,方案中引入的错误在安全性上是必须的,错误对于lwe问题在量子计算模型下的困难性有关键作用,没有错误则此方案可被攻击者轻易破解;另一方面,合法的接收方bob又需要能够有效的消除错误,否则错误的存在会使接收方只能得到信息的近似值,从而导致通信无法正常进行。现有的错误协调方案是将消息的每个比特信息直接分散到整数区间{-q/2,…,q/2-1}中,再传输分散之后的信息。如目前常用的peikert错误协调方案中,alice首先将消息u的每一比特按照规则0->0;1->-q/2进行映射,得到向量u′然后加密并传输给bob。bob在解密时通过计算得到w=u′+e,然后对向量w按照规则{-q/4,…,q/4-1}->0;{-q/2,…,-q/4-1}u{q/4,…,q/2-1}->1进行映射并得到消息u。

在现有的错误协调方案中,消息接收方解码成功的关键是错误e不能超出既定的范围。如peikert错误协调方案中,要求错误e的每一位都必须处在整数区间{-q/4,…,q/4-1}中,否则无法成功解码。而在lwe公钥密码算法的设计中,错误e是一个满足高斯分布的向量,其范围需按照算法的安全级别预先确定。因此在设计错误协调方案时,为确保解密成功,一种方法是选取较大的q,这将导致密文较大;另一种方法是降低每次传输的明文比特数,这两种方法都将导致传输速率的损失。



技术实现要素:

针对上述现有技术中存在的不足之处,本发明提供一种用于lwe公钥密码的错误协调方法,通过将二元线性码与格雷码结合用以实现lwe公钥密码中的错误协调方案。

该用于lwe公钥密码的错误协调方法包括编码算法和译码算法;其中,所述编码算法的输入为一个长度为k的二元消息向量u∈{0,1}k,输出为一个长度为m的q元向量z∈zqm,这里zq={-q/2,…,q/2-1};所述译码算法的输入为一个包含错误向量e的长度为m的q元向量w=z+e∈zqm,输出为z对应的二元向量u∈{0,1}k

所述编码算法包括以下步骤:

步骤一、使用一个[n,k,d]二元线性码的编码器,将二元向量u映射为一个长度为n的二元向量x∈{0,1}n

步骤二、使用一个t-比特格雷码,将二元向量x的每t个比特映射为一个zp上的整数,从而得到一个长度为m的p元向量y∈zpm;这里参数需满足关系:n=t×m,p=2t,p整除q;

步骤三、将向量y每一位乘以q/p,得到一个长度为m的q元向量z∈zqm

所述译码算法包括以下步骤:

步骤一、将向量w的每一位除以q/p,然后根据预设取整方式取整,得到一个长度为m的p元向量y′∈zpm

步骤二、使用t-比特格雷码,将向量y′∈zpm的每一位拆分为t个比特,从而得到一个长度为n的二元向量x′∈{0,1}n

步骤三、使用[n,k,d]二元线性码的译码器,从二元向量x′∈{0,1}n中恢复出消息向量u。

可选地,所述预设取整方式为四舍五入取整方式。

进一步地,所述编码算法中的输入消息的长度k和输出消息的模数q由lwe公钥密码算法的安全级别事先确定;此外,错误向量e的范围也由lwe公钥密码算法的安全级别确定。

进一步地,参数[n,k,d]二元线性码和t-比特格雷码,以及由[n,k,d]二元线性码和t-比特格雷码确定的参数p=2t,m=n/t的选取步骤包括:

步骤一、任取一个t-比特格雷码,使得t>1且p=2t整除q;

步骤二、根据所述译码算法中的步骤一、步骤二和错误向量e的范围计算所对应的二元信道的容量;

步骤三、根据二元信道容量选取相应的[n,k,d]二元线性码,使得译码错误概率满足lwe公钥密码算法的安全级别要求;

步骤四、计算参数m=n/t,并判断对应的密文大小是否满足lwe公钥密码算法的通信效率要求;如不满足则选取新的t-比特格雷码并重复上述步骤。

本发明提供的用于lwe公钥密码的错误协调方法,通过将二元线性码与格雷码结合用以实现lwe公钥密码中的错误协调方案。该错误协调方法包含编码算法和译码算法,可用于解决lwe公钥密码中的错误协调问题。本发明的方案容错性能好,能够显著提高加密信息的传输速率。

附图说明

图1为本发明实施例提供的用于lwe公钥密码的错误协调方法中的编码算法流程图;

图2为本发明实施例提供的用于lwe公钥密码的错误协调方法中的译码算法流程图;

图3为本发明实施例提供的用于lwe公钥密码的错误协调方法中的参数选取步骤流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1和图2,本实施例提供一种用于lwe公钥密码的错误协调方法,其包含编码算法(如图1所示)和译码算法(如图2所示)两个部分。其中编码算法的输入为一个长度为k的二元消息向量u∈{0,1}k,输出为一个长度为m的q元向量z∈zqm,这里zq={-q/2,…,q/2-1}。译码算法的输入为一个包含错误向量e的长度为m的q元向量w=z+e∈zqm,输出为z对应的二元向量u∈{0,1}k。具体地,编码算法和译码算法的步骤分别如下:

编码算法:

步骤一、使用一个[n,k,d]二元线性码的编码器,将二元向量u映射为一个长度为n的二元向量x∈{0,1}n

步骤二、使用一个t-比特格雷码(graycode),将二元向量x的每t个比特映射为一个zp上的整数,从而得到一个长度为m的p元向量y∈zpm。这里参数需满足关系n=t×m,p=2t,p整除q。

步骤三、将向量y每一位乘以q/p,得到一个长度为m的q元向量z∈zqm

译码算法:

步骤一、将向量w的每一位除以q/p,然后取整,得到一个长度为m的p元向量y′∈zpm。这里取整指四舍五入取整(即round取整),例如2.4取整得2,-3.6取整得-4。

步骤二、使用t-比特格雷码(graycode),将向量y′∈zpm的每一位拆分为t个比特,从而得到一个长度为n的二元向量x′∈{0,1}n

步骤三、使用[n,k,d]二元线性码的译码器,从二元向量x′∈{0,1}n中恢复出消息向量u。

参数选取:

错误协调方案中输入消息的长度k和输出消息的模数q已由lwe公钥密码算法的安全级别事先确定,此外错误向量e的范围也由安全级别确定。因此需要在错误协调方案中确定的参数包括一个[n,k,d]二元线性码和一个t-比特格雷码,以及由这些参数确定的p=2t,m=n/t。参数选取的步骤如图3所示,其包括以下步骤:

步骤一、任取一个t-比特格雷码,使得t>1且p=2t整除q。

步骤二、根据译码算法的步骤一、步骤二和错误向量e的范围计算所对应的二元信道的容量。

步骤三、根据二元信道容量选取相应的[n,k,d]二元线性码,使得译码错误概率满足lwe公钥密码算法的安全级别要求。

步骤四、计算参数m=n/t,并判断对应的密文大小是否满足lwe公钥密码算法的通信效率要求。如不满足则选取新的t-比特格雷码并重复上述步骤。

值得一提的是,本实施例的上述方案采用的二元线性码与格雷码结合可替换为q元线性码(或非线性码)与q元格雷码结合,该替代方案同样可实现lwe公钥密码中的错误协调,其原理与本实施例的上述方案的原理相同。

本实施例提供的用于lwe公钥密码的错误协调方法,通过将二元线性码与格雷码结合用以实现lwe公钥密码中的错误协调方案。该错误协调方法包含编码算法和译码算法,可用于解决lwe公钥密码中的错误协调问题。本发明的方案容错性能好,能够显著提高加密信息的传输速率。

此外,需要说明的是,本发明实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域技术人员来说,本发明可有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1