主权项 |
一种基于粗粒度可重构架构的DES算法轮迭代系统,其特征在于:包括系统总线、可重构处理器和微处理器;所述可重构处理器包括配置单元、输入先进先出寄存器组、输出先进先出寄存器组、通用寄存器堆、M个可重构阵列块、查找表,所述配置单元的进线口通过系统总线与微处理器连接,且配置单元的出线口分别与可重构阵列块连接;而所述输入先进先出寄存器组通过系统总线与微处理器连接;这M个可重构阵列块分别为第1个可重构阵列块、第2个可重构阵列块、…、第m个可重构阵列块、…、第M个可重构阵列块,m=1...M,M取整数;所述第1个可重构阵列块与输入先进先出寄存器组连接,而第M个可重构阵列块与输出先进先出寄存器组连接,且这M个可重构阵列块均与通用寄存器堆和查找表连接;这M个可重构阵列块之间通过通用寄存器堆互相进行数据的储存、读取和传递;所述输出先进先出寄存器组通过系统总线与微处理器连接;其中:微处理器通过分析DES的特征来确定轮迭代的运算流程,将多轮的轮迭代运算展开成一幅数据流图映射到可重构处理器中形成配置信息发送给配置单元;微处理器通过系统总线发送明文数据给可重构处理器,明文数据将存入输入先进先出寄存器组;微处理器并将初始数据、生成的密钥和计算的中间数据存入通用寄存器堆中用于下一张图的轮迭代;所述配置单元用于存储配置信息,并将配置信息发送给各个可重构阵列块;第1个可重构阵列块用于获取输入先进先出寄存器组的明文数据和读取其对应的配置单元的配置信息;第1个可重构阵列块根据配置信息对明文数据进行初始轮迭代得到初始中间信息;根据配置信息将初始中间信息载入下一个可重构阵列块中,用于下一个可重构阵列块的运算;对于第p个可重构阵列块,2≤p≤M‑1,第p个可重构阵列块用于获取第(p‑1)个可重构阵列块的中间信息、读取其对应的配置单元的配置信息以及读取查找表的查找表信息;通过第p个读端口运算行选择器读取通用寄存器堆中存储的密钥;所述第个可重构阵列块根据配置信息对第(p‑1)个可重构阵列块的中间信息、查找表信息、密钥进行轮迭代,得到第p个可重构阵列块的的中间信息;对于第M个可重构阵列块,第M个可重构阵列块用于获取第(M‑1)个可重构阵列块的中间信息和读取其对应的配置单元的配置信息;第M个可重构阵列块根据配置信息对第(M‑1)个可重构阵列块的中间信息进行逆变换获取密文。 |