[发明专利]双合成域高级加密标准存储器加密引擎有效
| 申请号: | 201180076150.5 | 申请日: | 2011-12-30 |
| 公开(公告)号: | CN104011732B | 公开(公告)日: | 2018-06-15 |
| 发明(设计)人: | S.K.马修;S.盖伦;R.K.克里什纳墨菲 | 申请(专利权)人: | 英特尔公司 |
| 主分类号: | G06F21/72 | 分类号: | G06F21/72;H04L9/06 |
| 代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 叶晓勇;姜甜 |
| 地址: | 美国加利*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 加密和解密 存储器 加密引擎 集合 存储器读操作 高级加密标准 存储器写 更大功率 集合选择 时间敏感 合成域 加速器 | ||
可对加密和解密加速器选择多项式的不同集合。也就是说,多项式的不同集合用于加密和解密,各集合选择成使用较小面积,并且为存储器加密引擎输送更大功率。这在一些实施例中是有利的,因为存储器读操作通常比存储器写是更为关键并等待时间敏感的。
技术领域
本发明一般涉及存储器加密引擎。
背景技术
存储器加密引擎用来在数据写到存储器以及从其中读取时保护数据。通常,加密使用高级加密标准(AES)。参见NIST Advanced Encryption Standard (FIP pub. 197,2001年11月26日)。高级加密标准是用来对所有读和写存储器存取进行加密和解密的对称密钥加密协议。为了防止读和写干扰(swamp)处理器性能,硬件加速AES加密和解密操作是合乎需要的。
AES提供若干操作模式。AES-128、AES-192和AES-256操作模式分别对AES轮操作的10、12和14次迭代提交128位输入数据。AES轮操作包括连续置换字节、偏移行(Shift Row)和混合列(Mixed Column)变换,之后接着添加圆键(AddRound Key)操作。
在取代字节变换期间,128位输入数据的每8位输入到16个S盒之一中。每个S盒计算它在伽罗瓦域GF(28)中的相应8位输入的乘法逆。一些实现将8位输入映射到合成域(GF(24)2),计算GF(24)2中的乘法逆,将结果又映射到基本域GF(28),并且进入偏移行变换。
附图说明
针对下列附图来描述一些实施例:
图1是存储器加密引擎的示意图;
图2是按照一个实施例的高级加密标准S盒;
图3是按照本发明的一个实施例的乘法器方程的图示;
图4是按照一个实施例的GF(24)乘法器的图示;
图5是按照一个实施例、用于加密和解密的S盒子块的图示;
图6是按照另一个实施例、用于加密和解密的S盒子块的图示;
图7是按照一个实施例、用于加密的混合列块的示意图;
图8是一个实施例的流程图;以及
图9是一个实施例的系统图示。
具体实施方式
按照一些实施例,为加密和解密加速器选择多项式的不同集合。也就是说,多项式的不同集合用于加密和解密,各集合选择成使用较小面积(area),并且为存储器加密引擎输送更大功率。这在一些实施例中是有利的,因为存储器读操作通常比存储器写是更为关键并等待时间敏感的。
参照图1,将来自存储器26的读数据提供给存储器加密引擎10中的2:1复用器,并且然后提供给存储器读路径中的添加圆键单元14。由此,数据转到置换字节块16、偏移行块18和混合列/添加圆键块20。在10次迭代之后,按照一个实施例,输出来自核心22的读数据。核心22可以是处理器、例如中央处理单元。
把来自核心22的工作数据提供给存储器写路径中的2:1复用器,并且然后提供给逆混合列/添加圆键单元20a。由此,数据转到逆置换字节单元16a和逆偏移行单元18a。按照一个实施例,最后,在10次迭代之后,数据从向存储器26写数据的添加圆键单元14a输出。
在一些实施例中,通过在存储器读期间使用AES-128加密的更简单计算,而在存储器写期间使用AES-128解密,进行折衷以改进读路径。这避免使用更复杂的AES-128解密存储器读。从硅面积使用角度来看,比写端口更多数量的读端口的存在也使这种折衷具有吸引力。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180076150.5/2.html,转载请声明来源钻瓜专利网。





