本发明涉及网络安全通信及加密技术领域,特别涉及使用量子随机数的离散对数加密方法。
背景技术:
与rsa公钥加密算法类似,离散对数加密算法也属于公钥加密算法,由elgamal于1984年提出。rsa的安全性依赖大数因数分解的困难性,而离散对数的安全性则依赖有限域上的离散指数的计算困难性。离散对数问题是指,已知有限域fp,其中p是一个素数,g是其生成元,给定y∈fp,找到满足0<x≤p的x使得y=gx,满足该式的整数称为y关于g离散对数。
作为目前三大公钥加密算法(rsa、离散对数、椭圆曲线)之一,离散对数加密算法中私钥的产生来自于一段秘密的随机数,但是要求该随机数是随机和不可预测的。然而实际上,这些随机数是由确定的算法产生,具有极高的不安全性。近年来,摩尔定律逐渐逼近极限,新技术也不断涌现,第三方可利用的计算资源和计算能力也随之海量剧增,这使得现有的信息加密技术由特定算法产生随机数愈来愈容易被破解。找到产生真正随机和不可预测的随机数的方法就显得十分迫切。这些年来各种量子随机数发生器方案的提出和实现,为解决该问题提供了新思路。量子随机数发生器基于量子特性的内禀随机性,可产生具有真正不可预测且随机的无限长随机数序列。因此,使用量子随机数的非对称加密技术将进一步提高现有加密技术下的通信安全性。
技术实现要素:
(一)要解决的技术问题
离散对数加密算法中私钥的产生来自于一段秘密的随机数,但是要求该随机数是随机和不可预测的。然而实际上,这些随机数是由确定的算法产生,具有极高的不安全性。找到产生真正随机和不可预测的随机数的方法就显得十分迫切。而量子随机数发生器因其真随机和不可预测性成为随机数源的合适选择。因此,如何将量子随机数发生器与现有离散对数加密算法结合是主要的技术问题。
(二)技术方案
本发明提供了一种使用量子随机数的离散对数加密方法,旨在结合量子随机数发生器和现有离散对数加密算法用于信息的安全加密。其中量子随机数被用于私钥的产生和大素数及密文的生成。主要包括量子随机数生成、离散对数参数确定和非对称密钥生成三部分。包括以下步骤:
步骤1:量子随机数发生器产生不可预测的随机数;
步骤2:将步骤1产生的第一量子随机数经大整数素数筛选算法得到p,选取有限域fp,确定明文空间fp*的生成元g;
步骤3:将步骤1产生的第二量子随机数与步骤2所确定的参数进一步通过公私密钥对生成算法得到公钥和私钥对;
步骤4:将步骤1产生的第三量子随机数与步骤2、3所确定的大素数p和公钥用于加密。
具体步骤如下:
步骤1a:量子随机源产生具有量子特性的物理信号;
步骤1b:该物理信号被探测并采样转化为二进制的数字序列;
步骤1c:该数字序列再经后处理模块处理得到不可预测的随机数。
步骤2a:步骤1产生的量子随机数经过大整数素数筛选算法得到第一随机数p;
步骤2b:由步骤2a产生的第一随机数p确定离散对数有限域fp及明文空间fp*的生成元g。
步骤3a:从步骤1产生的量子随机数中选取一个整数作为第二随机数x,x即为私钥,且满足0<x<p-1,计算得到公钥y=gxmodp;
步骤3b:由上述步骤最终得到密钥对,其中y为公钥,x为私钥。
步骤4a:从步骤1产生的量子随机数中选取一个整数作为第三随机数k,且满足0<k<p-1;
步骤4b:设明文m∈fp*,计算得密文(c1,c2),其中c1=gkmodp,c2=mykmodp。
(三)有益效果
本发明所述系统中,量子随机数发生器由于其量子特性的内禀随机性及不可预测性,其产生的不可预测的随机数作为种子,确保了生成的公私密钥对以及密文的安全可靠。使用量子随机数的离散对数加密技术将进一步提高现有加密技术下的安全性。
附图说明
图1为本发明的方法原理实现框架示意图。
具体实施方式
结合图1所示本发明的方法原理实现框架示意图,基于测量真空态散粒噪声的量子随机数发生器方案,具体步骤如下:
1.量子随机数发生器产生不可预测的随机数:
步骤1a:利用激光器产生的本征光与真空态信号在50:50的分束器中产生产生干涉,分别得到信号s1(t)、s2(t);
步骤1b:该两个信号被平衡零差探测器测量得到差分电流并由模数转换器(adc)采样转化为数字序列;
步骤1c:计算该数字序列可提取的有效随机数位数,经随机提取得到不可预测的随机数0101100...。
2.上述量子随机数一部分经大整数素数筛选算法,得到随机的大整数素数,并由此确定离散对数的参数:
步骤2a:步骤1产生的量子随机数经过大整数素数筛选算法得到第一随机数p;
步骤2b:由步骤2a产生的第一随机数p确定离散对数有限域fp及明文空间fp*的生成元g。
3.将步骤1产生的种子随机数与步骤2所确定的参数进一步通过公私密钥对生成算法得到公钥和私钥对:
步骤3a:从步骤1产生的量子随机数中选取一个整数作为第二随机数x,x即为私钥,且满足0<x<p-1,计算得到公钥y=gxmodp;
步骤3b:由上述步骤最终得到密钥对,其中y为公钥,x为私钥。
4.将步骤1产生的种子随机数与步骤2、3所确定的大素数和公钥用于加密。
步骤4a:从步骤1产生的量子随机数中选取一个整数作为第三随机数k,且满足0<k<p-1;
步骤4b:设明文m∈fp*,计算得密文(c1,c2),其中c1=gkmodp,c2=mykmodp。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。