基于MEMS和FPGA的移动硬盘数据加解密系统
时间:11-08
来源:互联网
点击:
5. AES 加密模块的实现
AES 的设计原理可参考文献,下面只简单介绍算法过程。AES 是一个迭代的分组密码, 每一轮迭代称为一个轮变换,包括一个混合和三个代换:
(1)字节代换(SubBytes):利用S 盒对状态的每一个字节进行非线性变换。
(2)行移位(ShiftRow):对状态的每一行,按不同的位移量进行行移位。
(3)列混合(MixColumn):对状态中的每一列并行应用列混合,在最后一轮省略该步。
(4)扩展密钥加(AddRoundKey):与扩展密钥异或。 加密算法的流程如图4 所示。
相应的,解密算法使用逆序的扩展密钥,轮变换分别为InvSubByte,InvShiftRow, InvMixColumn,数据流程稍有不同。
我们设计的AES 加密运算模块以128 位为一个分组,完成一个分组的运算需要11 个时钟 周期。第1 个时钟周期,密钥扩展模块输出第1 个扩展密码,也就是初始密码本身;同时初始 变换模块用这个扩展密码对128 位明文作AddRoundKey 操作。
第2 个到第11 个时钟周期,密 钥扩展模块依次生成10 个扩展密码,同时,轮变换模块利用这些扩展密码对输入密文作10 个 轮次的轮变换,其中最后一轮缺少列混合操作,然后输出最终的密文,结束一个分组的运算。
6. 数据吞吐率分析
Ultra DMA 在模式2 下的数据传输率为33.33MB/s。由于FPGA 全局时钟频率为100MHz, 所以加解密一个128 位分组需要110ns。加上数据的输入和输出阶段各占用一个时钟周期,总共 需要130ns。所以加解密模块的数据处理速率约为61.54MB/s,完全能够达到实时处理的要求。
7. 结束语
本文提出了一种安全高效的USB 移动硬盘数据加解密系统。其中,MEMS 强链的应用开辟 了系统物理认证的新方向;Ultra DMA 协议接口的FPGA 实现大大提高了硬盘读写的吞吐率,同时AES 加解模块的处理速率又能完全满足Ultra DMA 传输带宽,两者的有机协作使得一种高 效的硬件加解密流水线得以实现。
AES 的设计原理可参考文献,下面只简单介绍算法过程。AES 是一个迭代的分组密码, 每一轮迭代称为一个轮变换,包括一个混合和三个代换:
(1)字节代换(SubBytes):利用S 盒对状态的每一个字节进行非线性变换。
(2)行移位(ShiftRow):对状态的每一行,按不同的位移量进行行移位。
(3)列混合(MixColumn):对状态中的每一列并行应用列混合,在最后一轮省略该步。
(4)扩展密钥加(AddRoundKey):与扩展密钥异或。 加密算法的流程如图4 所示。
相应的,解密算法使用逆序的扩展密钥,轮变换分别为InvSubByte,InvShiftRow, InvMixColumn,数据流程稍有不同。
我们设计的AES 加密运算模块以128 位为一个分组,完成一个分组的运算需要11 个时钟 周期。第1 个时钟周期,密钥扩展模块输出第1 个扩展密码,也就是初始密码本身;同时初始 变换模块用这个扩展密码对128 位明文作AddRoundKey 操作。
第2 个到第11 个时钟周期,密 钥扩展模块依次生成10 个扩展密码,同时,轮变换模块利用这些扩展密码对输入密文作10 个 轮次的轮变换,其中最后一轮缺少列混合操作,然后输出最终的密文,结束一个分组的运算。
6. 数据吞吐率分析
Ultra DMA 在模式2 下的数据传输率为33.33MB/s。由于FPGA 全局时钟频率为100MHz, 所以加解密一个128 位分组需要110ns。加上数据的输入和输出阶段各占用一个时钟周期,总共 需要130ns。所以加解密模块的数据处理速率约为61.54MB/s,完全能够达到实时处理的要求。
7. 结束语
本文提出了一种安全高效的USB 移动硬盘数据加解密系统。其中,MEMS 强链的应用开辟 了系统物理认证的新方向;Ultra DMA 协议接口的FPGA 实现大大提高了硬盘读写的吞吐率,同时AES 加解模块的处理速率又能完全满足Ultra DMA 传输带宽,两者的有机协作使得一种高 效的硬件加解密流水线得以实现。
MEMS USB FPGA Cypress Altera 总线 步进电机 相关文章:
- 如何用 All Programmable SoC 优化AR解决方案(01-24)
- 基于PLB总线的H.264整数变换量化软核的设计(03-20)
- 我的FPGA学习历程(05-23)
- Virtex-5推动超宽带通信和测距的发展(01-06)
- Altera FPGA下载配置(11-11)
- 基于ARM9和CPLD的输入输出系统设计(04-09)