本发明涉及一种基于容错学习问题的发送方可否认加密方法,属于信息安全领域。
背景技术:
可否认加密是使消息的发送方可否定在加密过程中所使用的真实明文,给出一个让敌手不能分辨其真假性的假明文,达到欺骗敌手的目的的加密方法。该加密方法在存在敌手威胁的情况下是十分有必要的,比如在电子选举中以及电子拍卖中,可以保护投票者和竞拍者在被敌手胁迫的情况下,保障其人身安全也保障其信息安全。
同时,随着量子计算机技术的发展,已存在高效的量子算法(如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作为噪声,其元素服从分布率为
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的假明文比特流
s302:对明文进行编码处理得到长度为2l的明文编码u={uj|j=1,2,...,2l},具体为:(1)对于vj和
s303:对明文编码进行可否认编码处理得到长度为2l的假明文编码
进一步,步骤s4中,发送方通过可否认加密方法对明文编码进行k次加密,生成长度为2l·k·(n+1)密文
进一步,步骤s5具体为:
s501:接收方通过解密方法对密文进行2l·k次解密,得到明文编码u。解密方法为:计算
s502:对明文编码u进行解码得到明文比特流v。解码方法为:接收方对解密后得到的明文编码u进行依次取每两位为一组,如果每组中的比特位相同,则对应的明文比特流vj=0,否则vj=1。
进一步,步骤s7具体为:敌手通过胁迫等手段得到密文c,公钥pk,以及假明文编码
本发明的有益效果在于:本发明提供了一种基于容错学习问题的发送方可否认加密方法,能够抵抗量子算法可能破解传统公钥密码的巨大风险,实现可否认公钥密码体制,抵抗敌手胁迫攻击信息发送方,达到欺骗敌手的目的。
附图说明
为了使本发明的目的、技术方案,本发明提供如下附图进行说明:
图1为一种基于容错学习问题的发送方可否认加密方法流程图;
图2为一种基于容错学习问题的发送方可否认加密方法编码原理示意图。
具体实施方式
实施例:在电子投票场景中,为了保密投票者需要把所传的投票信息进行公钥加密;然后通过经济快速的信道把密文传递给目标接受者,信息接收者使用私钥解密密文得到信息。
在本实例中,假设投票者想要投票的信息是“张三”,而敌手要求其投票信息是“李四”。
下面将结合附图,对本发明的优选实施例进行详细的描述。
如图1所示,本发明步骤如下:
步骤一:
1)根据设定敌手攻击次数2n,选取安全参数n=100;
2)通过素数生成器随机生成取模素数p=10001;
3)噪声标准差系数取α=0.0002265。
步骤二:
1)随机生成一个100维整数向量s作为私钥,其元素均是服从均匀分布u(-5000,5000);
2)随机生成一个1476维整数向量e作为噪声,其元素服从分布率为
3)生成1476×101维公钥pk=(a|b10001),具体为,随机生成一个1476×100的整数矩阵a,其元素均是服从均匀分布u(-5000,5000),bp=a·s+emod10001。
结合图2,步骤三:
1)投票者根据发送信息“张三”的四角码“1223410101”,转化为长度34的明文比特流v=0001011111100101000010011101110101,并从明文空间中选取信息“李四”的四角码“4040760212”长度为34的假明文比特流
2)对明文进行编码处理得到长度为68的明文编码u={uj|j=1,2,...,68},具体为:(1)对于vj和
3)对明文编码进行可否认编码处理得到长度为68的假明文编码
步骤四:
发送方通过可否认加密方法对明文编码进行4次可否认加密,生成长度为27472密文
步骤五:
1)接收方通过解密方法对密文进行272次解密,得到明文编码u。解密方法为:计算
2)对明文编码u进行解码得到明文比特流v,二进制转化为十进制后,得到明文信息“张三”。解码方法为:接收方对解密后得到的明文编码u进行依次取每两位为一组,如果每组中的比特位相同,则对应的明文比特流vj=0,否则vj=1。
步骤六:
敌手通过胁迫等手段得到密文c,公钥pk,以及假明文编码
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其做出各种各样的改变,而不偏离本发明权利要求书所限定的范围。