[发明专利]一种抵抗简单电耗攻击的点乘计算方法有效
申请号: | 200810154231.2 | 申请日: | 2008-12-18 |
公开(公告)号: | CN101436929A | 公开(公告)日: | 2009-05-20 |
发明(设计)人: | 孙达志;孙济洲;张加万 | 申请(专利权)人: | 天津大学 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/30;G06F7/72 |
代理公司: | 天津市北洋有限责任专利代理事务所 | 代理人: | 江镇华 |
地址: | 300072天津*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 抵抗 简单 电耗 攻击 计算方法 | ||
技术领域
本发明属于公钥密码体制的安全执行领域,涉及集成电路安全技术。
背景技术
椭圆曲线公钥密码体制,例如,椭圆曲线数字签名算法(ECDSA),都是依赖定义在有限域上的椭圆曲线点群的离散对数问题设计而成。使用椭圆曲线点群的最大好处是,不存在如同整数乘法循环群上的索引攻击这样的亚指数时间复杂度的离散对数计算方法,因此,在维持同样安全强度的情况下,可以使用相对较小的安全参数,从而改善公钥密码系统的各方面执行性能。在椭圆曲线密码体制中,主要是在某类椭圆曲线点群上计算点乘d·P,这里P是椭圆曲线上的点,系数d为整数。而在这些椭圆曲线公钥密码体制中,总有部分点乘中的系数d需要严格保密。
现代密码设备的计算部件是集成电路芯片。芯片都是由晶体管门电路组成,电路在执行不同的程序操作时,电能消耗有所不同,这一点可以通过示波器观察。据此,Kocher等人提出了电耗分析攻击。电耗分析攻击的前提是电耗轨迹与设备执行的指令相关,并与处理的操作数的值有关。这样检查电耗轨迹能够暴露正在执行的指令和寄存器中数据的信息。当密码设备正在执行秘密密钥操作时,攻击者有可能推导出秘密密钥。研究表明,几乎所有的公钥密码系统都潜在存在电耗分析攻击问题,特别是,智能卡这样的需要外界提供电源的嵌入式设备受到电耗分析攻击的威胁尤为巨大。简单电耗分析(SPA)攻击是攻击者通过简单观测秘密密钥操作的电耗轨迹,直接推导出关于秘密密钥保密信息的技术。SPA攻击对攻击的环境和攻击者的设备要求不高,容易实现,因此,是实际应用中的主要安全威胁。在防止SPA攻击点乘计算的技术方面,主要从防护算法设计和保护电路设计两方面着手。由于设备上的公钥密码体制需要依靠具体执行算法实现,同时算法容易维护、更新、修改,因而算法防护措施得到广泛重视。防护算法的设计关键在点乘计算方法。目前,抵抗SPA攻击的点乘计算方法主要思路是程序执行路线固定化或随机化。典型的方法有:始终平方乘计算方法、Joye改进二进制计算方法、Clavier和Joye通用计算方法。需要指出的是,这些点乘计算方法常常都是以牺牲效率为代价的。此外,由于SPA攻击技术的发展,不少现有点乘计算方法已经不能很好抵抗SPA攻击。
发明内容
鉴于抵抗SPA攻击的点乘计算方法存在的问题,本发明目的是提供一种适合密码设备硬件或软件实现的抵抗SPA攻击的点乘计算方法。计算方法具有更强的抵抗SPA攻击的能力,同时,具有较快的计算速度。因此,特别适合于智能卡等计算资源受限的嵌入式设备应用。
本发明采用如下的技术方案:
一种抵抗SPA的点乘计算方法,当潜在受到SPA攻击的软件或硬件密码设备运行公钥体制时,在需要使用秘密密钥或保密参数为系数计算点乘情况下,具体执行下列步骤:
(1)读取椭圆曲线点群上符合要求的点P和点乘系数d;
(2)将系数d的二进制串分成等长的二进制子串和算符表示不小于c的最小整数,k为系数d的二进制比特串长度;
(3)使用固定从右向左二进制算法计算点乘对{d1·P,d2·P}={(d1 AND(NOT d2)+d1 ANDd2)·P,((NOT d1)AND d2+d1 AND d2)·P};
(4)根据公式通过点乘对{d1·P,d2·P}计算点乘d·P的值,算符||表示连接,算符sq(m)(P)表示对椭圆曲线点群上的点P做m次倍点操作。
作为优选实施方式,其中的步骤(3)具体按照下列步骤执行:
3.1将P赋值给S,并令C0=1;C1=1;C2=1;C3=1;
3.2将S赋值给
3.3从i=2至步长为1,执行循环语句:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810154231.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:通风吸音窗
- 下一篇:一种浴室移门改良结构