新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于EPIC技术的可编程密码处理器设计

基于EPIC技术的可编程密码处理器设计

作者:时间:2012-06-08来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/148928.htm

  数据通路是的关键部件之一,包含FUO~FU5共6个可并行执行的功能单元、32个32bit通用寄存器、4×32个32bit密钥寄存器和回写单元。

  功能单元是执行指令运算的核心,由若干个运算模块组成。其中,FUO~FU3内部运算模块的组成与结构完全相同,输入为3个32bit运算数据,其中2个来自通用寄存器堆、1个来自密钥寄存器堆,输出的运算结果亦为32bit。FUO~FU3内部分别设置了7个运算模块,分别为S盒运算模块、模加,减运算模块、模乘运算模块、32bit移位运算模块、有限域乘法运算模块、二输入逻辑运算模块、三输入逻辑运算模块。FU4内部设置了1个128bit,置换运算模块,输入为12个32bit运算数据,其中8个来自通用寄存器堆,4个来自密钥寄存器堆。FU5内部设置了1个128bit移位运算模块,输入也为12个32bit运算数据,其中8个来自通用寄存器堆,4个来自密钥寄存器堆。

  上述这些运算模块功能不是单一的,而是可重构的。表2中给出了4个可重构运算模块所支持的模式。

  

4个可重构运算模块所支持的模式

  除了上述运算模式可重构外,各运算模块根据具体情况还支持运算前增加‘异或 i操作、运算后增加‘异或 i操作或者运算前后都增加‘异或 i操作。由于‘异或 i操作延时很小,它的加入并不影响运算的关键路径,这就使得运算时减少了单一‘异或 i操作的时钟,从而减少了整个运算的时钟数,并且不影响整体性能。表3中给出了Rijndael算法轮运算流程,采用有限域乘法运算后加入‘异或 i操作,时钟周期数由4减为3,10轮运算将减少10个时钟周期。

  

Rijndael算法轮运算流程

  控制单元完成指令存取、指令译码、指令存储器地址生成等工作,协调内部指令与外部用户命令正确执行。



评论


相关推荐

技术专区

关闭