一种攻击椭圆曲线加密算法的方法和攻击设备技术

技术编号:11625097 阅读:88 留言:0更新日期:2015-06-18 03:56
本发明专利技术公开了一种攻击椭圆曲线加密算法的方法和攻击设备,包括:攻击设备预先获取具有一字节错误的错误基点的坐标、所在椭圆曲线的曲线参数和阶之间的对应关系,其中,阶为最大素数因子的长度小于或等于预设阈值的阶;攻击设备对加密设备中椭圆曲线加密算法所使用的椭圆曲线的基点的坐标注入一字节错误得到错误基点的坐标;攻击设备控制加密设备根据错误基点的坐标采用椭圆曲线加密算法对明文进行加密得到错误密文输出;攻击设备根据错误密文输出计算错误基点所在的椭圆曲线的曲线参数,在对应关系中查找曲线参数对应的错误基点的坐标和阶;攻击设备根据错误基点的坐标和阶、计算得到的曲线参数和错误密文输出获取明文。本发明专利技术提高了攻击效率。

【技术实现步骤摘要】

本专利技术设及信息安全技术,尤指一种攻击楠圆曲线加密算法的方法和攻击设备。
技术介绍
随着信息科技的发展,信息的安全性被提升到了一个前所未有的高度。各种加密 算法正被广泛地应用于经济、军事、行政等重要部口,用于保护信息的安全性。对称密码和 公钥密码的出现使得信息能从算法级和软件级得到保护。但是进入21世纪后,随着攻击形 式的多样化,攻击性越来越强的方法也随之产生。尤其是从硬件入手的侧信道攻击和故障 注入攻击方法使得许多安全信息受到了威胁。针对密码算法软硬件实现的分析研究对保护 信息安全具有重要的意义。 "故障攻击"的概念是1996年由Boneh等人首次提出的,是对RSA(Ron化vest,Adi 化amir,LeonardAdlemanS人姓氏的开头字母)公钥密码体制的新型攻击方法,该方法利 用了密码计算过程中的错误。该种攻击方法一经提出立即引起了人们的广泛关注,并展示 出了其对密码体制安全性的极大破坏性。1997年,Biham和化amir将该种攻击方法应用于 对称密码体制,首次提出了 "差分故障攻击"的概念,并成功地攻击了数据加密标准值ES, DataEnc巧ptionStandard)算法.此后研究人员提出了各种不同的故障攻击方法,成功攻 击了多种密码体制,如楠圆曲线密码编码学巧CC,Elliptic化rveshyptography)公钥体 制、3DES(TripleDE巧算法W及流密码(RC4)算法等。 下面WSM2解密算法为例说明现有的攻击楠圆曲线加密算法的方法。该里假设 SM2解密算法中标量乘的计算使用了二进制算法。 二进制算法具体实现如下: 为了计算标量乘A=比1]P,将标量klW二进制形式展开得到kl=化。_1,…,ki, k。),其中,k。为kl的第n个比特化k1为kl的第(n-1)个比特化…,kn_i为kl的第1个 比特位,lVi=1。令i为(n-2);令A点的坐标(Xi,yi,Zi)为楠圆曲线的基点P的坐标,B点的坐标(X2, 72, Z2)为 楠圆曲线的基点P的坐标的2倍。[000引 判断出ki等于1,按照公式入1= X &,入2二X 2Zi,入4二y &,入5二y 2Zi,入8 =ZiZ2计算中间值入,按照公式入3=入1-入2,入6=入广入5,入7=入1+入2, 乂9 =韦, 入1。=A3入9,斗1=义S省-义7义9对中间值^进行扩展;按照公式X3= ^ 3入11,y3 = 入e(AgA1-A。)-A4人1。,Z3=入1CIAg计算C点的坐标(X3, 73,Z3),计算得到的C点的坐标 即为A点的坐标和B点的坐标之间的和值浪照公式(Xi,yi,Zi)=咕,73,Z3)计算A点的 坐标;按照公式 人2=2y2Z2, 乂3二7^,人4二入3X2Z2, 4 = 乂?,义6 =韦-8义4计算中间值,按照公式X3=入2人6,y3=入1(4人广人6)-2入3人5,23 = 入2入e计算c点的坐标,计算得到的c点的坐标即为B点的坐标的2倍;按照公式(X2,y2,Z2)=咕,73,Z3)计算B点的坐标; 判断出ki不等于1,按照公式=扣2] +化2],人2二巧2Z2,义3 ,人4二^3X2Z2, 乂5=乂?,乂6=考-8乂4计算中间值,按照公式义3=入2人6,73=入1(4入广入6)-2入3人5,23 =入2A5计算C点的坐标,计算得到的C点的坐标即为B点的坐标的2倍浪照公式(X2, 72,Z2)=咕,73,Z3)计算B点的坐标; 将i减去1继续执行判断ki是否等于1的步骤,直到i=0。最后输出A点的坐 标。 SM2解密算法具体实现如下; 假设明文M的密文C=C1| |C3| |C2,klen为C2的比特长度。 从C中取出比特串C1,并将C1转换为楠圆曲线上的点,验证C1是否满足加密过程 中所用的楠圆曲线方程,若不满足则报错并退出;C1,若S是无穷远点,则报错 并退出; 若S不是无穷远点,采用上述二进制算法计算C1 = (X2,y2),并将坐标X2,y2转 化为比特串;计算t=邸F(xiII72,klen),若t为全0比特串,则报错退出;其中,de为用户 私钥; 若t为非全0比特串,则从C中取出比特串C2,计算计算u= 化sh(X21 |M'IIY2),从C中取出比特串C3,若U不等于C3,则报错并退出;若U等于C3,卯J输 出M'。 现有的攻击楠圆曲线密码算法的方法大致包括: 在SM2解密过程中,标量乘C1 = (X2,y2)是按照二进制算法计算的,在二进制 算法中,令A= (X2,y2),k=dB,P=C1。标量乘法C1 = (X2,y2)运算进行到第i轮时, 对点A的X坐标注入错误变为A' = (xi',y。zi),如果错误注入时ki为1且处于对中间值 入进行扩展的过程,由于对中间值A进行扩展的过程独立于各点的坐标值,仅与计算得到 的中间值有关,那么A'的坐标的改变不会影响中间值A的扩展和C点的坐标的计算,最 终A点的坐标被C点的坐标代替,最终结果不受"安全错误"的影响,从而得到正确的解密 结果;如果ki为0,则错误的A'的坐标值将保留并参与后续的标量循环迭代中,最终输出解 密失败。因此,可根据解密成功与否分析出相应时刻的标量比特值ki。通过多次试验,最终 获得k的每一比特,即获得k后,也就是说获得屯就能够根据de采用SM2解密算法进行解 密得到明文。 现有的攻击楠圆曲线加密算法的方法中,由于对标量乘的实现有要求,必须采用 二进制算法、一直点倍点加、蒙哥马利算法等来实现,错误注入的时机比较难控制(即只能 在对中间值A进行扩展的过程中进行错误注入),还需要知道在标量乘的哪一次迭代中注 入错误,一次只能攻击到密钥的1比特,需要进行多次攻击才能获得完整的密钥,因此,该 方法攻击效率较低。
技术实现思路
为了解决上述问题,本专利技术提出了一种攻击楠圆曲线加密算法的方法和攻击设 备,能够提高攻击效率。 为了达到上述目的,本专利技术提出了一种攻击楠圆曲线加密算法的方法,包括: 攻击设备预先获取具有一字节错误的错误基点的坐标、错误基点所在楠圆曲线的 曲线参数和错误基点的阶之间的对应关系;其中,阶为最大素数因子的长度小于或等于预 设阔值的阶; 攻击设备对加密设备中楠圆曲线加密算法所使用的楠圆曲线的基点的坐标注入 一字节错误得到错误基点的坐标; 攻击设备控制加密设备根据得到的错误基点的坐标采用楠圆曲线加密算法对明 文进行加密得到错误密文输出; 攻击设备根据错误密文输出计算错误基点所在的楠圆曲线的曲线参数,在对应关 系中查找计算得到的曲线参数对应的错误基点的坐标和阶; 攻击设备根据查找到的错误基点的坐标和阶、计算得到的曲线参数和错误密文输 出获取明文。[002引优选地,当所述攻击设备在所述对应关系中查找不到计算得到的曲线参数对应的 错误基点的坐标和阶时,该方法还包括: 攻击设备继续执行所述对加密设备中楠圆曲线加密算法所使用的楠圆曲线的基 点的坐标注入一字节错误得到错误基点的坐标的步骤。 优选地,所述错误密文输出包括;(V、C2和C3;所述加密设备根据得到的错误基点 的坐标采用楠圆曲线加密算法对明文进行加密得到错误密文输出包括:G'计算所述楠圆曲线上的点(V的坐标;其中,k2本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/CN104717060.html" title="一种攻击椭圆曲线加密算法的方法和攻击设备原文来自X技术">攻击椭圆曲线加密算法的方法和攻击设备</a>

【技术保护点】
一种攻击椭圆曲线加密算法的方法,其特征在于,包括:攻击设备预先获取具有一字节错误的错误基点的坐标、错误基点所在椭圆曲线的曲线参数和错误基点的阶之间的对应关系;其中,阶为最大素数因子的长度小于或等于预设阈值的阶;攻击设备对加密设备中椭圆曲线加密算法所使用的椭圆曲线的基点的坐标注入一字节错误得到错误基点的坐标;攻击设备控制加密设备根据得到的错误基点的坐标采用椭圆曲线加密算法对明文进行加密得到错误密文输出;攻击设备根据错误密文输出计算错误基点所在的椭圆曲线的曲线参数,在对应关系中查找计算得到的曲线参数对应的错误基点的坐标和阶;攻击设备根据查找到的错误基点的坐标和阶、计算得到的曲线参数和错误密文输出获取明文。

【技术特征摘要】

【专利技术属性】
技术研发人员:雷翻翻何军李大为罗鹏雷银花
申请(专利权)人:大唐微电子技术有限公司国家密码管理局商用密码检测中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1