一种针对公钥密码ECC的Shor量子攻击方法

文档序号:9306516阅读:1073来源:国知局
一种针对公钥密码ECC的Shor量子攻击方法
【技术领域】
[0001] 本发明涉及一种Shor量子攻击方法,尤其是一种针对公钥密码ECC的Shor量子 攻击方法,属于量子密码技术领域。
【背景技术】
[0002] 公钥密码算法中具有代表性的就是RSA和ECC算法,这两种公钥密码在我国电子 政务和电子商务领域被广泛应用。其安全基础分别是大整数分解(IFP)和椭圆曲线离散 对数(ECDLP)的NP难题。1994年,美国AT&T公司的Shor提出了可在多项式时间内完成 分解大整数质因子的量子算法,称其为Shor算法。1997年,Shor又进一步指出Shor算法 可以被用来求解大数N的两个质因子问题和离散对数问题。2015年,美国国防部在介绍其 "2013-2017科技发展五年计划"中提到,量子计算是需要重点关注的未来六大颠覆性基础 研究领域之一,其主要内容是密码破译。因此这是一个重要的研究方向。
[0003] 2005年,世界上第一台量子计算机原型机在美国诞生;2009年世界上第一个具有 基本运算能力的固态量子处理器在美国耶鲁大学问世;同年11月,世界上第一台通用可编 程量子计算机在美国国家标准技术研究院(NIST)诞生,该机可处理两个量子比特的数据; 2011年,据《Nature》报道,美国加州大学圣芭芭拉分校的科学家通过量子电路成功实现了 冯诺依曼结构,表明未来量子大规模集成电路具有可行性;2012年3月,IBM做到了在减少 基本运算误差的同时,保持量子比特的量子机械特性完整性,进一步加快了研制全尺寸实 用量子计算机的步伐。
[0004] 但是据《nature》和《science》等报道,破译现有的163位ECC密码的所需要的千 位Qbits以上的通用量子计算机,在未来5到10内仍难实现。现有的通用量子计算机规模 在9Qubits,5到10年后有望开始研制百位Qubits通用量子计算机,难以满足破译ECC公 钥密码的实际需求。
[0005] 在利用Shor算法分解大数问题时,会用到一个幺正算符函数:f(X) =axmodN,这 是一个一维函数。在Shor算法分解大数时,已经证明能够设个合理的实现f(X)= axmodN量子电路,那么我们就能在基于量子电路模型下利用Shor算法迅速求解出我们要分 解的大数N。而Shor算法求解椭圆曲线离散对数问题中也要用到一个么正算符函数U(x,y) =(xP+yQ),这是一个二维函数。基于滑铁卢大学文献上讲,Shor算法求解椭圆曲线离散对 数问题相当于是Shor算法分解大数的二维问题。由上述分析可知,Shor算法求解椭圆曲 线离散对数问题与Shor算法分解大数问题的区别就在与一维和二维的么正算符函数,同 时这里也是Shor算法求解椭圆曲线离散对数和Shor算法分解大数的可联系之处。
[0006] 但是,目前在通用量子计算机的器件条件限制的情况下,提出对公钥密码ECC的 小Qubit量子计算攻击问题仍没有得到较好解决。

【发明内容】

[0007] 为了达到上述目的,本发明提供了一种针对公钥密码ECC的Shor量子攻击方法。
[0008] 本发明采用的技术方案为:
[0009] 一种针对公钥密码ECC的Shor量子攻击方法,包括以下步骤:
[0010] 步骤1 :选取一条二进制域上的素域P上的椭圆曲线,输出所述椭圆曲线上所有的 坐标点(Xt,yt),1彡t彡N;N为所述椭圆曲线上坐标点数目;设定执行次数为0 ;
[0011] 步骤2 :任意选择椭圆曲线上的点P、点Q,满足P=kQ,k为攻击私钥,输出与椭圆 曲线上各点(x,y)对应的xP+yQ和xP的点;
[0012] 步骤3 :构造以k为周期的周期函数:
[0013] f(a) =xamodp (I)
[0014] 其中,x是一个比p小并与p互质的数,a为任意一个自然数;
[0015] 步骤4 :创建两个量子寄存器:设定第一量子寄存器的初始态设置为IOf1,011表 不n个量子比特的直积;n=log2p+l;第二量子寄存器的初始态设置为11> ;则所述第一量 子寄存器和第二量子寄存器的初始态为:
[0016]
[0017] 步骤5:将阿达马门H~作用到第一个量子寄存器,得到|0>到|q_l>的q= 2n_l个态的叠加态:
[0018]
[0019] 其中,Ia>为第一寄存器的状态,I1>为第二寄存器的状态;
[0020] 步骤6 :将Ux,a算符应用到所述第二量子寄存器I% >,使其状态变为Ixam〇dp> :
[0026] 步骤9 :求使所述第一量子寄存器的本征态概率达到最大值的阶r;
[0027] 步骤10 :判断所述阶r是否满足满足Q=rP,如果满足转向步骤13 ;如果不满足, 转向步骤11 ;
[0028] 步骤11 :所述执行次数加1 ;转向步骤12 ;
[0029] 步骤12:判断所述执行次数是否小于5;如果是,转向步骤7,如果否,转向步骤2;
[0030] 步骤13:成功破解私钥,设置私钥k为r;转向步骤14;
[0031] 步骤14:结束。
[0032] 本发明的有益效果在于:
[0033] 本发明能够使用小量子比特数来破解椭圆曲线加密的Shor量子攻击方法,对当 前安全曲线有较大威胁,它的通用性更强。
【附图说明】
[0034] 图1本发明的流程图。
【具体实施方式】
[0035] 实施例1 :
[0036] 如图1所示,一种针对公钥密码ECC的Shor量子攻击方法,包括以下步骤:
[0037] 步骤1:选取一条二进制域上的素域p上的椭圆曲线,输出所述椭圆曲线上所有的 坐标点(xt,yt),1彡t彡N;N为所述椭圆曲线上坐标点数目;设定执行次数为0;
[0038] 步骤2 :任意选择椭圆曲线上的点P、点Q,满足P=kQ,k为攻击私钥,输出与椭圆 曲线上各点(x,y)对应的xP+yQ和xP的点;
[0039] 步骤3 :构造以k为周期的周期函数:
[0040]f(a) =xamodp (I)
[0041] 其中,x是一个比p小并与p互质的数,a为任意一个自然数;
[0042] 步骤4:创建两个量子寄存器:设定第一量子寄存器的初始态设置为|〇f%:?:n表 不n个量子比特的直积;n=log2p+l;第二量子寄存器的初始态设置为11> ;则所述第一量 子寄存器和第二量子寄存器的初始态为:
[0043]
[0044] 步骤5:将阿达马门作用到第一个量子寄存器丨啊 >,得到|0>到|q_l>的q= 2n_l个态的叠加态:
[0045]
[0046] 其中,Ia>为第一寄存器的状态,I1>为第二寄存器的状态;
[0047] 步骤6:将Ux,a算符应用到所述第二量子寄存器I% >,使其状态变为Ixam〇dp>:
[0048]
[0049]步骤7 :对所述第一个量子寄存器进行量子傅立叶逆变换:
[0050]
[0053] 步骤9 :求使所述第一量子寄存器的本征态概率达到最大值的阶r ;
[0054] 步骤10 :判断所述阶r是否满足满足Q=rP,如果满足转向步骤13 ;如果不满足, 转向步骤11 ;
[0055] 步骤11 :所述执行次数加1 ;转向步骤12 ;
[0056] 步骤12 :判断所述执行次数是否小于5 ;如果是,转向步骤7,如果否,转向步骤2 ;
[0057] 步骤13:成功破解私钥,设置私钥k为r;转向步骤14;
[0058] 步骤14:结束。
[0059] 在本实施例中,选择椭圆曲线为y2=x3+x+l。椭圆曲线上所有的点坐标如表1所 示,选择P= (3. 10),Q= (19, 5),xP上的点坐标如表2所示,xP+yQ上的点坐标如表3所

【主权项】
1. 一种针对公钥密码ECC的Shor量子攻击方法,其特征在于:包括以下步骤: 步骤1:选取一条二进制域上的素域P上的椭圆曲线,输出所述椭圆曲线上所有的坐标 点(xt,yt),1彡t彡N;N为所述椭圆曲线上坐标点数目;设定执行次数为0; 步骤2 :任意选择椭圆曲线上的点P、点Q,满足P=kQ,k为攻击私钥,输出与椭圆曲线 上各点(x,y)对应的xP+yQ和xP的点; 步骤3 :构造以k为周期的周期函数:f(a) =xamodp (1) 其中,x是一个比p小并与p互质的数,a为任意一个自然数; 步骤4 :创建两个量子寄存器:设定第一量子寄存器的初始态设置为|〇f",?n表示n个 量子比特的直积;n=log2p+l;第二量子寄存器的初始态设置为11> ;则所述第一量子寄存 器和第二量子寄存器的初始杰为:「2)步骤5 :将阿达马门HT作用到第一个量子寄存器I队、得到| 0>到|q_l>的q= 2n_l个态的叠加态 (3) 其中,|a>为第一寄存器的状态,|1>为第二寄存器的状态; 步骤6 :将UXia算符应用到所述第二量子寄存器丨%: >,使其状态变为|xam〇dp> :(4): 步骤7 :对所述第一个量子寄存器进行量子傅立叶逆变换::(5) 步骤8:测量所述第一量子寄存器的本征态概率:(6) 步骤9 :求使所述第一量子寄存器的本征态概率达到最大值的阶r; 步骤10 :判断所述阶r是否满足满足Q=rP,如果满足转向步骤13 ;如果不满足,转向 步骤11; 步骤11:所述执行次数加1;转向步骤12; 步骤12 :判断所述执行次数是否小于5 ;如果是,转向步骤7,如果否,转向步骤2 ; 步骤13 :成功破解私钥,设置私钥k为r;转向步骤14 ; 步骤14 :结束。
【专利摘要】一种针对公钥密码ECC的Shor量子攻击方法,包括以下步骤:选取一条二进制域上的素域p上的椭圆曲线,输出所述椭圆曲线上所有的坐标;任意选择椭圆曲线上的点P、点Q,满足,为攻击私钥,输出与椭圆曲线上各点(x,y)对应的xP+yQ和xP的点;构造以为周期的周期函数:创建两个量子寄存器并设定其初始态设置为和|1>;将阿达马门作用到第一量子寄存器;将算符应用到所述第二量子寄存器;对第一量子寄存器进行量子傅立叶逆变换:测量所述第一量子寄存器的本征态概率:求使其达到最大值的阶r;如果阶r是满足Q=rP,则攻击私钥为r。本发明能够使用小量子比特数来破解椭圆曲线加密的Shor量子攻击方法,对当前安全曲线有较大威胁,它的通用性更强。
【IPC分类】H04L9/30
【公开号】CN105024811
【申请号】CN201510392417
【发明人】陈宇航, 尹宝, 胡风, 张焕国, 王潮
【申请人】上海大学
【公开日】2015年11月4日
【申请日】2015年7月6日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1