【技术实现步骤摘要】
本文所述的多个实施例总体涉及处理器。具体地说,本文所述的多个实施例一般涉及在处理器中执行密码术。
技术介绍
密码学是通常用于保护计算机系统和其他电子设备中的机密信息或秘密信息的技术。密码学一般涉及使用密码(cryptologic)算法和密码密钥来保护信息。例如,可执行加密(encryption)(有时也称为密码操作(cipher)),在加密中,使用加密密钥(例如,位串)对未经加密的或明文输入数据(例如,表示文本、数字、可理解字符等的位串)执行由密码算法所指定的一系列变换或操作,以便产生经加密的数据。有时也将该经加密的数据称为密文或密码数据。经加密的数据通常是不可理解的。在不知晓密码密钥的情况下,从经加密数据来确定未经加密的明文数据一般是不太可能的,或者至少并非实际可行的。如果知晓了密码密钥,则可对经加密的数据执行解密(decryption)(有时也称为逆向密码操作(inversecipher))以重新产生对应的明文或未经加密的数据。在解密期间执行的变换或操作基本上可以是加密期间所执行的那些变换或操作的逆转。SM4是由中国政府批准在无线网络中使用的密码算法。SM4之前被称为SMS4。SM4密码算法是块密码操作算法。输入数据(也被称为状态)、输出数据和密码密钥各自是128位的。通过三十二轮执行对数据的加密。每一轮涉及用于将输入数据数据变换为经加密的数据的多个不同的操作或变换。将具有类似变换的三十二轮用 ...
【技术保护点】
一种处理器,包括:多个紧缩数据寄存器;解码单元,用于解码指令,所述指令用于指示一个或多个源紧缩数据操作数,所述一个或多个源紧缩数据操作数具有四个在先的SM4密码轮的四个32位的结果以及四个32位的值;以及执行单元,与所述解码单元和所述多个紧缩数据寄存器耦合,所述执行单元用于:响应于所述指令,将四个后续紧跟的顺序的SM4密码轮的四个32位的结果存储在由所述指令指示的目的地存储位置中。
【技术特征摘要】
2014.07.22 US 14/337,9991.一种处理器,包括:
多个紧缩数据寄存器;
解码单元,用于解码指令,所述指令用于指示一个或多个源紧缩数据操作
数,所述一个或多个源紧缩数据操作数具有四个在先的SM4密码轮的四个32
位的结果以及四个32位的值;以及
执行单元,与所述解码单元和所述多个紧缩数据寄存器耦合,所述执行单
元用于:响应于所述指令,将四个后续紧跟的顺序的SM4密码轮的四个32位
的结果存储在由所述指令指示的目的地存储位置中。
2.如权利要求1所述的处理器,其特征在于,所述解码单元用于解码所述
指令,所述指令指示具有所述四个在先的SM4密码轮的所述四个32位的结果
的第一128位的源紧缩数据操作数,并且指示具有所述四个32位的值的第二
128位的源紧缩数据操作数。
3.如权利要求1所述的处理器,其特征在于,根据轮顺序,将所述四个在
先的SM4密码轮的所述四个32位的结果安排在源紧缩数据操作数中。
4.如权利要求1所述的处理器,其特征在于,将对应轮的所述32位的值
和所述32位的结果存储在第一和第二源紧缩数据操作数的对应数据元素中。
5.如权利要求1所述的处理器,其特征在于,所述解码单元用于解码所述
指令,其中,所述四个32位的结果是四个在先的SM4加密轮的四个32位的
结果,且其中所述32位的值是用于所述四个在先的SM4加密轮的四个32位
的轮密钥,并且其中,所述执行单元用于存储四个后续紧跟的顺序轮的四个32
位的结果,所述四个后续紧跟的顺序轮的四个32位的结果是四个后续紧跟的
顺序的SM4加密轮的四个32位的结果。
6.如权利要求1所述的处理器,其特征在于,所述解码单元用于解码所述
指令,其中,所述四个32位的结果是四个在先的SM4解密轮的四个32位的
结果,且其中,所述32位的值是用于所述四个在先的SM4解密轮的四个32
位的轮密钥,并且其中,所述执行单元用于存储四个后续紧跟的顺序轮的四个
32位的结果,所述四个后续紧跟的顺序轮的四个32位的结果是四个后续紧跟
的顺序的SM4解密轮的四个32位的结果。
7.如权利要求1所述的处理器,其特征在于,所述解码单元用于解码所述
指令,其中,所述四个32位的结果是用于四个在先的SM4密钥扩展轮的四个
32位的轮密钥,且其中,所述四个32位的值是用于所述四个在先的SM4密钥
扩展轮的四个32位的密钥生成常数,并且其中,所述执行单元用于存储四个
后续紧跟的顺序轮的四个32位的结果,所述四个后续紧跟的顺序轮的四个32
位的结果是用于四个后续紧跟的顺序的SM4密钥扩展轮的四个32位的轮密
钥。
8.如权利要求1所述的处理器,其特征在于,所述解码单元用于解码所述
指令,所述指令指示第一源紧缩数据操作数,所述第一源紧缩数据操作数用于:
将第四在先SM4密码算法轮的第一32位的结果包括在位[31:0]中;
将第三在先SM4密码算法轮的第二32位的结果包括在位[63:32]中;
将第二在先SM4密码算法轮的第三32位的结果包括在位[95:64]中;以及
将紧接的在先SM4密码算法轮的第四32位的结果包括在位[127:96]中。
9.如权利要求1所述的处理器,其特征在于,所述执行单元用于响应于所
述指令来存储结果紧缩数据,所述结果紧缩数据用于:
将第四最新近的SM4密码算法轮的第一32位的结果包括在位[31:0]中;
将第三最新近的SM4密码算法轮的第二32位的结果包括在位[63:32]中;
将第二最新近的SM4密码算法轮的第三32位的结果包括在位[95:64]中;
以及
将最新近的SM4密码算法轮的第四32位的结果包括在位[127:96]中。
10.如权利要求1到9中任意一项所述的处理器,其特征在于,所述解码
单元用于解码所述指令,所述指令具有一个或多个位,所述一个或多个位用于
指定所述四个后续紧跟的顺序的SM4密码轮是密码处理轮还是密钥扩展轮。
11.如权利要求1到9中任意一项所述的处理器,其特征在于,所述执行
单元用于,响应于所述指令,针对所述四个后续紧跟的顺序的SM4密码轮中
的每一个,执行第一组异或(XOR)操作...
【专利技术属性】
技术研发人员:S·格伦,V·克拉斯诺夫,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。