[发明专利]一种抵抗内存泄漏攻击的密码算法多核实现方法及装置在审
申请号: | 201610580036.0 | 申请日: | 2016-07-21 |
公开(公告)号: | CN106130719A | 公开(公告)日: | 2016-11-16 |
发明(设计)人: | 林璟锵;赵原;潘无穷;荆继武;郑昉昱;薛聪;王琼霄 | 申请(专利权)人: | 中国科学院信息工程研究所;中国科学院数据与通信保护研究教育中心 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/08;H04L29/06 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 邱晓锋 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种抵抗内存泄漏攻击的密码算法多核实现方法及装置。该方法将CPU所有核心能够使用的寄存器作为多核寄存器缓存来存储密码计算过程中的敏感信息,交换到内存中的数据都要进行加密,将密码算法能够并行的部分拆分到多个CPU核心上同时运行,各核心的寄存器缓存通过内存交换敏感数据的密文。该装置为抵抗内存泄露攻击的RSA高速计算装置,使用CPU两个核心的寄存器缓存分别计算两个蒙哥马利模幂,而后用其中一个CPU核心的寄存器缓存读取模幂结果并计算RSA结果。该装置在保证抵抗内存泄露攻击的同时,计算速度达到OpenSSL中算法实现的70%以上。 | ||
搜索关键词: | 一种 抵抗 内存 泄漏 攻击 密码 算法 多核 实现 方法 装置 | ||
【主权项】:
一种抵抗内存泄漏攻击的密码算法实现方法,其特征在于,包括以下步骤:步骤A:对密码算法的计算过程进行分析,将若干输入和输出没有互相依赖的计算部分作为能够并行计算的部分在不同CPU核心的寄存器缓存中同时进行计算;步骤B:保存要使用的各CPU核心寄存器缓存中原有的数据并清空这些核心的寄存器缓存;步骤C:从内存中读取参数保存到各CPU核心的寄存器缓存中并进行解密;步骤D:进行密码计算,将敏感信息保存在CPU核心的寄存器缓存中;步骤E:将无法保存在寄存器缓存中的敏感信息进行加密保存到内存中;步骤F:将计算过程中需要使用的保存在内存中的敏感信息读取到寄存器缓存中并进行解密;步骤G:若计算结果是敏感信息,进行加密保存到内存中,否则直接保存到内存中;步骤H:执行密码算法的串行部分,将并行计算过程中各CPU核心寄存器缓存保存到内存中的结果读取到一个CPU核心的寄存器缓存中并进行解密;步骤I:清空使用过的各CPU核心的寄存器缓存并恢复数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所;中国科学院数据与通信保护研究教育中心,未经中国科学院信息工程研究所;中国科学院数据与通信保护研究教育中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610580036.0/,转载请声明来源钻瓜专利网。
- 上一篇:夹料钳
- 下一篇:一种蒸发器的安装结构及车用顶置空调