论文部分内容阅读
在目前现有的分组加密算法中,Rijndael算法是最高水平的代表。使用Rijndael密码算法的硬件实现代替基于DES算法的加密芯片现已成为一个趋势,因此研究和设计Rijndael算法的FPGA实现具有重要的理论意义和现实价值。 本文在分析Rijndael算法的基础上,首先改进解密过程中各个变换函数运算的次序,使之与加密过程中变换函数运算的次序相同;又运用有限域、线性代数和矩阵理论对列混合变换和逆列混合变换进行优化,并提出了算法加密/解密的等效轮变换公式,达到了硬件实现加密/解密过程资源共享的目的,同时简化了轮函数的运算。然后采用EDA设计方法设计了算法在全流水线结构下的整体电路结构以及轮变换、密钥扩展等各子模块的电路结构,并使用硬件描述语言VHDL对系统进行描述。 最后在集成环境Max+plusII10.2下,选用Altera公司的APEX10KE系列中的EPF10K200SBC356器件对算法的实现进行仿真测试。其工作频率为25.5MHz时,加密速度为2720Mbit/s,解密速度为1813Mbit/s。通过仿真测试,验证了本设计的正确性,并达到了加密/解密速度为Gbps级别的设计目标。