[发明专利]一种在CPU中抗能量攻击的模幂运算的实现方法有效
申请号: | 201110442321.3 | 申请日: | 2011-12-26 |
公开(公告)号: | CN102521544A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
主分类号: | G06F21/00 | 分类号: | G06F21/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cpu 能量 攻击 运算 实现 方法 | ||
技术领域
本发明涉及信息安全领域,尤其涉及一种用于实现信息加解密的模幂运算的实现方法。
背景技术
迄今为止,应用于各种电子设备上的公钥密码体制主要有两类,第一类是基于大整数分解的密码体制,例如,RSA体制和Rabin-Williams体制,第二类是基于循环群上离散对数的密码体制,例如,ELGamal体制和数字签名算法(DSA)。上述公钥密码体制大都需要在模整数意义上计算模幂xE(mod n),这里,x,E,和n都是整数,而在这些公钥密码体制中,总有部分模幂中的整数E需要严格保密。
现代密码设备的计算部件是集成电路芯片,芯片都是由晶体管门电路组成,电路在执行不同的程序操作时,电能消耗有所不同,这一点可以通过示波器观察。据此,Kocher等人提出了电耗分析攻击,电耗分析攻击的前提是电耗轨迹与设备执行的指令相关,并与处理的操作数的值相关,这样检查电耗轨迹能够暴漏正在执行的指令和寄存器中数据的信息。当密码设备正在执行秘密密钥操作时,攻击者有可能推导出秘密密钥。研究表明,几乎所有的公钥密码系统都潜在存在电耗分析攻击问题,特别是,智能卡这样的需要外界提供电源的嵌入式设备受到攻击的威胁尤为巨大。
发明内容
本发明的目的是提供一种具有更强的抗攻击能力的模幂运算的实现方法,特别是一种适合于智能卡等计算资源受限的嵌入式设备的模幂运算的实现方法。
本发明采用的技术方案如下:
一种在CPU中抗能量攻击的模幂运算的实现方法,包括:
步骤S1:CPU从第一寄存器读取预设总位长,从第二寄存器读取预设分组数;
步骤S2:CPU访问第一存储区,根据预设分组数按预设规则读取一个子数据,所述子数据是所述第一存储区中存储的第一数据的一部分;
步骤S3:CPU对当前读取的子数据执行预设操作;
步骤S4:当CPU对所有的子数据都执行完预设操作后得到预设分组数个操作结果;
步骤S5:CPU控制协处理器对所述预设分组数个操作结果按预设顺序执行模幂运算;
步骤S6:CPU依序将所有的子数据更新为相应的模幂运算结果;
步骤S7:CPU控制协处理器对更新后的预设分组数个子数据执行模乘运算,并将运算结果输出。
其中,步骤S2所述按预设规则读取一个子数据是指:CPU计算预设总位长除以预设分组数得到等分数据位长,根据所述等分数据位长随机或按固定顺序从所述第一数据读取一个子数据;或者是指:CPU根据预先设定的预设分组数个不等的子数据位长随机或按固定顺序从第一数据中获取一个位长等于所述子数据位长的子数据。
当步骤S3所述对当前读取的子数据执行预设操作为对当前读取的子数据按照比特位从低位到高位的顺序执行预设操作,则相应的,所述步骤S3-步骤S4具体为,
步骤S3-1,CPU初始化第三存储区中存储的所有中间变量,初始化第四存储区中存储的当前操作数和第三寄存器中存放的比特位索引;
步骤S3-2:按预设规则读取子数据;
步骤S3-3:根据当前比特位索引指向的比特位的值对当前读取的子数据执行预设操作得到一个操作结果;
步骤S3-4:当读取完预设分组数个子数据,得到预设分组数个操作结果时,更新当前操作数和当前比特位索引;
步骤S3-5:判断当前比特位索引是否超出等分数据位长,是则执行步骤S3-6,否则返回执行步骤S3-2;
步骤S3-6:输出预设分组数个操作结果。
进一步地,步骤S3-1所述初始化具体为将所述第三存储区中存储的所有中间变量的初始值置为1,将第四存储区中存储的当前操作数的初始值设为第二数据,将第三寄存器中存放的比特位索引初始值置为1。
步骤S3-3所述预设操作具体为如下步骤,
步骤A:判断当前比特位索引指向的比特位的值是否为1,是则执行步骤B,否则执行步骤D;
步骤B:对与当前读取的子数据对应的中间变量和当前操作数执行模乘运算;
步骤C:用模乘运算结果更新所述中间变量,所述预设操作完成;
步骤D:所述中间变量不发生改变,所述预设操作完成。
当步骤S3所述对当前读取的子数据执行预设操作具体为按照比特位从高位到低位的顺序执行预设操作,则相应的,所述步骤S3-步骤S4具体为,
步骤S3-1:CPU初始化当前操作数和比特位索引;
步骤S3-2:按预设规则读取子数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110442321.3/2.html,转载请声明来源钻瓜专利网。