一种基于容错学习问题的发送方可否认加密方法与流程

文档序号:17070345发布日期:2019-03-08 23:15阅读:390来源:国知局
一种基于容错学习问题的发送方可否认加密方法与流程

本发明涉及一种基于容错学习问题的发送方可否认加密方法,属于信息安全领域。



背景技术:

可否认加密是使消息的发送方可否定在加密过程中所使用的真实明文,给出一个让敌手不能分辨其真假性的假明文,达到欺骗敌手的目的的加密方法。该加密方法在存在敌手威胁的情况下是十分有必要的,比如在电子选举中以及电子拍卖中,可以保护投票者和竞拍者在被敌手胁迫的情况下,保障其人身安全也保障其信息安全。

同时,随着量子计算机技术的发展,已存在高效的量子算法(如shor算法)可破解大整数分解问题,和离散对数问题,基于传统数论中困难问题构造的加密体制,如rsa,dsa,ecdsa已经被量子计算机攻破,所以急需一种抗量子攻击的公钥加密方案,基于格上困难问题构造的公钥加密方案具有抗量子攻击的优势。



技术实现要素:

有鉴于此,本发明提供一种基于容错学习问题的发送方可否认加密方法,抵抗量子算法可能破解传统公钥密码的巨大风险,实现可否认公钥密码体制,抵抗敌手胁迫攻击信息发送方。

为达到上述目的,本发明提供如下技术方案:

一种基于容错学习问题的发送方可否认加密方法,包括如下步骤:

s1:设定基于容错学习(learningwitherror,lwe)问题的发送方可否认加密方法的相关加密参数;

s2:根据安全参数生成公私钥对;

s3:输入明文,生成假明文,并进行编码;

s4:通过可否认加密方法对明文编码进行加密,生成密文;

s5:通过解密方法对密文进行解密,得到明文编码,并解码得到明文;

s6:根据二进制流,输出原文件;

s7:敌手验证通过假明文编码,实现可否认性。

进一步,步骤s1基于容错学习问题的发送方可否认加密方法包含下列加密参数:安全参数n,取模素数p,噪声标准差系数α。

s101:根据设定敌手攻击次数2n,选取安全参数n,在未调用大整数库(ntl)时取小于150的正整数;

s102:通过素数生成器随机生成取模素数p,满足2n2≥p≥n2

s103:噪声标准差系数通常取

进一步,步骤s2具体为:

s201:随机生成一个n维整数向量s作为私钥,其元素均是服从均匀分布u(-p/2,p/2);

s202:随机生成一个m维整数向量e作为噪声,其元素服从分布率为的离散高斯分布,其中,随机选取ε∈(0,1),为向下取整运算,i∈[-p/2,p/2]为整数,为连续高斯分布将区间[-∞,+∞]压缩到区间上的概率分布,对于通常根据精度要求选取正整数m。

s203:生成m×(n+1)维公钥pk=(a|bp),具体为,随机生成一个m×n的整数矩阵a,其元素均是服从均匀分布u(-p/2,p/2),bp=a·s+emodp。

进一步,步骤s3具体为:

s301:发送方根据发送信息,转化为长度为l的明文比特流v={vj|j=1,2,...,l},并从明文空间中选取长度为l的假明文比特流对v和进行异或运算得到长度为l的否认标识比特流并统计不否认明文比特位所占比例y=p(v*=0|v*);

s302:对明文进行编码处理得到长度为2l的明文编码u={uj|j=1,2,...,2l},具体为:(1)对于vj和均为0的比特位,以的概率编码为u2j-1u2j=00,其余编码为u2j-1u2j=11;(2)对于vj和均为1,则编码u2j-1u2j=01;(3)对于vj为0,为1,则编码u2j-1u2j=00;(4)对于vj为1,为0,则编码u2j-1u2j=01;

s303:对明文编码进行可否认编码处理得到长度为2l的假明文编码具体为:将明文编码u中,对应vj=1和的编码替换为对应vj=0和的编码替换为其余不变。

进一步,步骤s4中,发送方通过可否认加密方法对明文编码进行k次加密,生成长度为2l·k·(n+1)密文其中,为保障信息传递的正确性,人为选定的整数k,通常4≤k≤10。可否认加密方法具体为:当uj=0时,从m维0-1均匀整数分布r中随机一个选取向量该位密文1≤j≤2l,1≤i≤k,此时如果则将依次保存到本地随机数文件r中,否则不保存;当uj=1时,随机从均匀分布u(-p/2,p/2)上选取一个n+1维的向量模p作为密文

进一步,步骤s5具体为:

s501:接收方通过解密方法对密文进行2l·k次解密,得到明文编码u。解密方法为:计算其中1≤j≤2l,1≤i≤k;对于i=1,2,...,k,如果都满足则uj=0,否则uj=1,其中τ为r·e的6倍标准差。

s502:对明文编码u进行解码得到明文比特流v。解码方法为:接收方对解密后得到的明文编码u进行依次取每两位为一组,如果每组中的比特位相同,则对应的明文比特流vj=0,否则vj=1。

进一步,步骤s7具体为:敌手通过胁迫等手段得到密文c,公钥pk,以及假明文编码以及本地随机数文件r,验证其能够正确实现步骤s4加密以及步骤s5解密,解码得到假明文传递的信息,实现双向可否认性。

本发明的有益效果在于:本发明提供了一种基于容错学习问题的发送方可否认加密方法,能够抵抗量子算法可能破解传统公钥密码的巨大风险,实现可否认公钥密码体制,抵抗敌手胁迫攻击信息发送方,达到欺骗敌手的目的。

附图说明

为了使本发明的目的、技术方案,本发明提供如下附图进行说明:

图1为一种基于容错学习问题的发送方可否认加密方法流程图;

图2为一种基于容错学习问题的发送方可否认加密方法编码原理示意图。

具体实施方式

实施例:在电子投票场景中,为了保密投票者需要把所传的投票信息进行公钥加密;然后通过经济快速的信道把密文传递给目标接受者,信息接收者使用私钥解密密文得到信息。

在本实例中,假设投票者想要投票的信息是“张三”,而敌手要求其投票信息是“李四”。

下面将结合附图,对本发明的优选实施例进行详细的描述。

如图1所示,本发明步骤如下:

步骤一:

1)根据设定敌手攻击次数2n,选取安全参数n=100;

2)通过素数生成器随机生成取模素数p=10001;

3)噪声标准差系数取α=0.0002265。

步骤二:

1)随机生成一个100维整数向量s作为私钥,其元素均是服从均匀分布u(-5000,5000);

2)随机生成一个1476维整数向量e作为噪声,其元素服从分布率为的离散高斯分布,i∈[-5000,5000]为整数,为连续高斯分布将区间(-∞,+∞)压缩到区间上的概率分布,对于选取正整数m=1000。

3)生成1476×101维公钥pk=(a|b10001),具体为,随机生成一个1476×100的整数矩阵a,其元素均是服从均匀分布u(-5000,5000),bp=a·s+emod10001。

结合图2,步骤三:

1)投票者根据发送信息“张三”的四角码“1223410101”,转化为长度34的明文比特流v=0001011111100101000010011101110101,并从明文空间中选取信息“李四”的四角码“4040760212”长度为34的假明文比特流对v和进行异或运算得到长度为34的否认标识比特流v*=0101100100001110101100110001000001,并统计不否认明文比特位所占比例特别说明的是,只要明文信息够多,不否认明文比特位所占比例都会大于50%;

2)对明文进行编码处理得到长度为68的明文编码u={uj|j=1,2,...,68},具体为:(1)对于vj和均为0的比特位,以的概率编码为u2j-1u2j=00,其余编码为u2j-1u2j=11;(2)对于vj和均为1,则编码u2j-1u2j=01;(3)对于vj为0,为1,则编码u2j-1u2j=00;(4)对于vj为1,为0,则编码u2j-1u2j=01;

3)对明文编码进行可否认编码处理得到长度为68的假明文编码具体为:将明文编码u中,对应j=4,8,14,24,28,34时编码u2j-1u2j替换为对应j=2,5,13,15,17,19,20,23的编码u2j-1u2j替换为其余不变。

步骤四:

发送方通过可否认加密方法对明文编码进行4次可否认加密,生成长度为27472密文每次可否认加密方法具体为:当uj=0时,从1476维0-1均匀整数分布r中随机一个选取向量该位密文1≤j≤68,1≤i≤4,此时如果则将依次保存到本地随机数文件r中,否则不保存;当uj=1时,随机从均匀分布u(-5000,5000)上选取一个n+1维的向量模p作为密文

步骤五:

1)接收方通过解密方法对密文进行272次解密,得到明文编码u。解密方法为:计算其中1≤j≤68,1≤i≤4;对于i=1,2,...,4,如果都满足则uj=0,否则uj=1。

2)对明文编码u进行解码得到明文比特流v,二进制转化为十进制后,得到明文信息“张三”。解码方法为:接收方对解密后得到的明文编码u进行依次取每两位为一组,如果每组中的比特位相同,则对应的明文比特流vj=0,否则vj=1。

步骤六:

敌手通过胁迫等手段得到密文c,公钥pk,以及假明文编码以及本地随机数文件r,验证其能够正确实现步骤s4加密以及步骤s5解密,解码得到假明文传递的信息“李四”,实现双向可否认性。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其做出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

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