发明名称 一种在CPU中抗能量攻击的模幂运算的实现方法
摘要 本发明公开了一种在CPU中抗能量攻击的模幂运算的实现方法,涉及信息安全领域,该方法包括,CPU从第一寄存器读取预设总位长,从第二寄存器读取预设分组数;CPU访问第一存储区,根据预设分组数按预设规则读取一个子数据,对当前读取的子数据执行预设操作;当CPU对所有的子数据都执行完预设操作后得到预设分组数个操作结果;CPU控制协处理器对所述预设分组数个操作结果按预设顺序执行模幂运算;依序将所有的子数据更新为相应的模幂运算结果;CPU控制协处理器对更新后的预设分组数个子数据执行模乘运算,并将运算结果输出。与现有技术相比,采用本发明模幂运算的实现方法可以达到抗SPA、DPA、RPA、ZPA攻击的目的。
申请公布号 CN102521544B 申请公布日期 2014.09.10
申请号 CN201110442321.3 申请日期 2011.12.26
申请人 飞天诚信科技股份有限公司 发明人 陆舟;于华章
分类号 G06F21/71(2013.01)I 主分类号 G06F21/71(2013.01)I
代理机构 代理人
主权项 一种在CPU中抗能量攻击的模幂运算的实现方法,其特征是:包括步骤S1:CPU从第一寄存器读取预设总位长,从第二寄存器读取预设分组数;步骤S2:CPU访问第一存储区,根据预设分组数按预设规则读取一个子数据,所述子数据是所述第一存储区中存储的第一数据的一部分;步骤S3:CPU对当前读取的子数据执行预设操作;步骤S4:当CPU对所有的子数据都执行完预设操作后得到预设分组数个操作结果;步骤S5:CPU控制协处理器对所述预设分组数个操作结果按预设顺序执行模幂运算;步骤S6:CPU依序将所述所有的子数据更新为相应的模幂运算结果;步骤S7:CPU控制协处理器对更新后的预设分组数个子数据执行模乘运算,并将运算结果输出;步骤S3所述对当前读取的子数据执行预设操作具体为对当前读取的子数据按照比特位从低位到高位的顺序执行预设操作;所述步骤S3‑步骤S4具体为,步骤S3‑1,CPU初始化第三存储区中存储的所有中间变量,初始化第四存储区中存储的当前操作数和第三寄存器中存放的比特位索引;步骤S3‑2:按预设规则读取子数据;步骤S3‑3:根据当前比特位索引指向的比特位的值对当前读取的子数据执行预设操作得到一个操作结果;步骤S3‑4:当读取完预设分组数个子数据,得到预设分组数个操作结果时,更新当前操作数和当前比特位索引;步骤S3‑5:判断当前比特位索引是否超出等分数据位长,是则执行步骤S3‑6,否则返回执行步骤S3‑2;步骤S3‑6:输出预设分组数个操作结果;所述按预设规则读取一个子数据是指CPU计算所述预设总位长除以所述预设分组数得到等分数据位长,根据所述等分数据位长随机或按固定顺序从所述第一数据读取一个子数据;步骤S3‑3所述预设操作具体为如下步骤,步骤A:判断当前比特位索引指向的比特位的值是否为1,是则执行步骤B,否则执行步骤D;步骤B:对与当前读取的子数据对应的中间变量和当前操作数执行模乘运算;步骤C:用模乘运算结果更新所述中间变量,所述预设操作完成;步骤D:所述中间变量不发生改变,所述预设操作完成。
地址 100085 北京市海淀区学清路9号汇智大厦B座17层
您可能感兴趣的专利