当前位置: 首页 > 专利查询>英特尔公司专利>正文

具有轮常数生成的SMS4加速处理器制造技术

技术编号:17960003 阅读:40 留言:0更新日期:2018-05-16 05:31
处理系统包括存储器和操作地耦合到存储器的处理逻辑。处理逻辑识别输出位序列的一个或多个常数位。处理逻辑生成输出位序列的多个可变位。处理逻辑产生包括识别的常数位和生成的多个可变位的输出位序列。

SMS4 acceleration processor with wheel constant generation

The processing system includes the processing logic of memory and operation coupled to memory. Processing logic or identifying one or more constant numbers of output bit sequences. The processing logic generates multiple variable bits of the output bit sequence. The processing logic produces the constant bit and the output bit sequence of multiple variable bits generated.

【技术实现步骤摘要】
【国外来华专利技术】具有轮常数生成的SMS4加速处理器
本公开的实施例一般涉及计算装置,并且更具体地涉及具有轮常数生成的SMS4加速处理器,以用于在处理器中提供面积最优配置,同时允许用于密钥生成的飞行中(on-the-fly)密钥扩展。
技术介绍
密码学是经常用于保护计算机系统和其它电子装置中的机密或秘密信息的技术。密码学一般涉及使用密码算法和密码密钥(cryptographickey)来保护信息。例如,可以执行加密(有时被称为暗码(cipher)),其中使用加密密钥(例如,位串)对未加密或明文输入数据(例如,表示文本、数字、可理解字符的位串等)执行如由密码算法指定的一系列变换或操作来产生加密的数据。加密的数据有时也被称为暗码文本或暗码数据。加密的数据一般是无法理解的。在不知道密码密钥的情况下,从加密的数据中确定未加密的明文数据一般是不可能的,或者至少不是实际可行的。如果密码密钥是已知的,则可以对加密的数据执行解密(有时称为反暗码)以重新产生对应的明文或未加密的数据。在解密期间执行的变换或操作可基本上与在加密期间执行的那些变换或操作相反。附图说明从以下给出的详细描述以及从本公开的各种实施例的附图中,将更完全地理解本公开。然而,附图不应被认为是将本公开限制于特定实施例,而是仅用于解释和理解。图1示出根据本公开的实施例的包括用以执行密码术的处理系统的片上系统(SoC)。图2示出根据本公开的实施例的图1的处理系统中的轮常数生成的逻辑图的示例。图3示出根据本公开的实施例的图1的处理系统中的轮常数生成的逻辑图的示例。图4示出根据本公开的实施例的在处理器中生成轮常数的流程图。图5示出根据本公开的实施例的在处理器中生成轮常数的流程图。图6A是示出在其中可使用本公开的一个实施例的处理器的微架构的框图。图6B是示出根据本公开的至少一个实施例实现的有序流水线和寄存器重命名阶段、无序发布/执行流水线的框图。图7示出根据本公开的一个实施例的处理器的微架构的框图。图8是示出在其中可以使用本公开的实施例的系统的框图。图9是在其中可以操作本公开的实施例的系统的框图。图10是在其中可以操作本公开的实施例的系统的框图。图11是根据本公开的实施例的片上系统(SoC)的框图。图12是根据本公开的SoC设计的实施例的框图。图13示出计算机系统的一个实施例的框图。图14示出根据本公开的处于计算系统形式的机器的框图。具体实施方式SMS4是对于无线网络中的数据加密/解密采用的块暗码密码算法。SMS4数据加密操作可以包括多个加密轮。每个轮涉及多个不同的数据操纵操作,所述操作被执行以便将输入数据(明文)变换成加密的数据(暗码文本)。数据解密操作可以包括涉及多个类似的数据操纵操作的多个解密轮。常规SMS4加速器将轮常数映射到查找表(LUT),其在硬件上占用大量的面积并导致附加的密钥生成等待时间。轮常数是通过增加或减小固定常数从32位累加器推导的。本公开的方面消除对LUT的需要,这大大减小了硬件上的面积。本公开的方面允许快速和有效的飞行中密钥扩展,而不会导致任何附加的密钥生成等待时间,从而减小总体等待时间开销。在一个实施例中,SMS4加速器包括轮常数生成逻辑,其识别输出位序列中的常数位并利用输出位序列的可变位上的重复模式,使能位的有效生成。在说明性示例中,常数位是两个最低有效位,并且可变位是下两个最低有效位。图1示出根据本公开实施例的包括处理系统的片上系统(SoC)100。SoC100可以包括经由总线系统108彼此连接的处理器(诸如中央处理单元(CPU))102和存储器。处理器102可以使用存储器104执行诸如系统应用和用户应用的任务来存储程序和与程序关联的数据的指令。在一个实施例中,处理器102还可以包括通信地耦合到处理核110的一个或多个处理核110和SMS4硬件加速器112。SMS4硬件加速器112起作用以生成用于加密和解密操作模式两者的轮常数。SMS4硬件加速器112包括用于存储包括多个数据位的输入位数据的数据寄存器114。在一个实施例中,多个数据位包括128位数据。在一个实施例中,SMS4硬件加速器112在加密模式中处理多个数据位。在一个实施例中,SMS4硬件加速器112在解密模式中处理多个数据位。SMS4硬件加速器112还包括密钥寄存器116,以用于存储包括多个密钥位的输入密钥数据。在一个实施例中,多个密钥位包括128位密钥。数据位和密钥位两者都被发送到第一混合模块118以执行与数据位和密钥位两者的字节混合操作,引起第一混合数据。在一个实施例中,来自密钥的较高阶32位与32位数据混合,引起32位字。由替换盒(Sbox)模块120处理第一混合数据(即32位字)以通过混合数据执行字节替换操作,引起替换数据(即32位Sbox输出)。从数据Sbox模块120输出的替换数据由旋转模块122进一步旋转以执行旋转操作来输出旋转的数据。在一个实施例中,数据旋转操作通过将携带Sbox输出的线拌合(swzzle)到如本文下面进一步描述的第二(最终)混合模块来完成。在一个实施例中,数据被移位某个数量的位。SMS硬件加速器112还包括第二混合模块124,其混合旋转的数据以输出第二混合数据。第二混合数据将主Sbox输出、旋转的Sbox输出与来自数据的唯一字组合以生成新字,其代替来自数据的现有字。第二混合数据然后作为输入发送到暗码模块126。在第二混合模块124中的第二混合操作之后,来自第二混合模块124的32b输出被用来代替数据寄存器114中的32b字的一个中的一个。剩余的三个32b字通过在加密或解密中向左或右移位数据寄存器114而获得。在32轮操作之后,使用暗码模块126对128b数据进行混洗以生成加密或解密的输出。在一个实施例中,常数值FK是仅在第一轮迭代中使用的128b常数。在密钥扩展的第一轮迭代中,通过加法操作130,FK与128b用户提供的密钥相加以生成存储在密钥寄存器116中的第一密钥。在第二轮迭代中,发送第一密钥到复用器132,其输出被发送到密钥扩展模块134,以生成发送到密钥寄存器116的下一个密钥。相应地,密钥扩展模块134对第一轮的用户提供的密钥进行操作,并且推导供在下一轮中使用的新的密钥。对于32轮密钥扩展,密钥扩展模块134需要由轮常数生成模块136生成并被存储在常数寄存器138中的32个轮常数(被称为CK)。因此,与当前轮计算并行的下一轮的并发密钥推导隐藏密钥扩展等待时间。由轮常数生成模块136生成的32b轮常数CK存储在常数寄存器模块138中。每次迭代使用新密钥,所述新密钥使用类似操作集合从先前密钥推导。在第32轮之后,最终选择的密钥位包括加密或解密密钥的32b密钥字。在一个实施例中,轮常数生成模块136利用8位累加器来计算32b轮常数CK,如下面就图2更详细描述的。在另一个实施例中,轮常数生成模块136利用2位计数器以计算32b轮常数CK,如下面就图3更详细描述的。图2示出根据本公开的一个实施例的轮常数生成模块236的逻辑图200。轮常数生成模块236与利用8位累加器的图1的轮常数生成模块136相同。轮常数生成模块236起作用以在加密和解密模式中生成用于密钥扩展的32b轮常数CK。在一个实施例中,加密操作模式中的所有32轮的常数在下面的表1本文档来自技高网...
具有轮常数生成的SMS4加速处理器

【技术保护点】
一种处理系统,包括:存储器;以及处理逻辑,所述处理逻辑操作地耦合到所述存储器,所述处理逻辑用来:识别输出位序列的一个或多个常数位;生成所述输出位序列的多个可变位;以及产生包括所识别的常数位和所生成的多个可变位的所述输出位序列。

【技术特征摘要】
【国外来华专利技术】2015.09.24 US 14/864,2271.一种处理系统,包括:存储器;以及处理逻辑,所述处理逻辑操作地耦合到所述存储器,所述处理逻辑用来:识别输出位序列的一个或多个常数位;生成所述输出位序列的多个可变位;以及产生包括所识别的常数位和所生成的多个可变位的所述输出位序列。2.如权利要求1所述的处理系统,其中在加密模式中生成所述多个可变位包括使累加器增加整数值。3.如权利要求1所述的处理系统,其中在解密模式中生成所述多个可变位包括使累加器减小整数值。4.如权利要求1所述的处理系统,其中所述多个可变位包括所述多个可变位的集合的周期性重复。5.一种处理系统,包括:存储器;以及处理逻辑,所述处理逻辑操作地耦合到所述存储器,所述处理逻辑包括:计数器,所述计数器被初始化成多个模式之中的第一模式,以生成输出位序列的多个可变位之中的可变位的第一集合;以及加法器电路,所述加法器电路耦合到所述计数器以生成所述多个模式之中的第二模式,其中加法器电路的输出利用所述第二模式以生成所述输出位序列的多个可变位之中的可变位的第二集合,其中可变位的所述第二集合不同于可变位的所述第一集合。6.如权利要求5所述的处理系统,其中在加密操作模式中所述计数器在每个周期中减小整数,其中在解密操作模式中所述计数器在每个周期中增加整数。7.如权利要求5所述的处理系统,其中所述第一模式是所述可变位的所述第一集合的周期性重复,并且所述第二模式是所述可变位的所述第二集合的周期性重复。8.如权利要求5所述的处理系统,其中所述输出位序列包括常数位和所生成的多个可变位。9.一种片上系统(SoC),包括:存储器;以及处理器,所述处理器通信地耦合到所述存储器,所述处理器包括:处理核;以及硬件加速器,所述硬件加速器通信地耦合到所述处理核,用来:识别输出位序列的一个或多个常数位;生成所述输出位序列的多个可变位;以及产生包括所识别的常数位和所生成的多个可变位的所述输出位序列。10.根据权利要求9所述的SoC,其中所述多个可变位包括所述多个可变位的集合的周期性重复。11.一种片上系统(SoC),包括:存储器;以及处理器,所述处理器通信地耦合到所述存储器,所述处理器包括:处理核;以及硬件加速器,所述硬件加速器通信地耦合到所述处理核,所述处理核包括...

【专利技术属性】
技术研发人员:SK萨特帕菲SK马修KS亚普V戈帕尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1