论文部分内容阅读
在通信环境中,采用密码算法是保障数据安全的有效手段。其中,以AES,3DES算法为代表的对称性密码算法,因其数据处理速度快、易于标准化等特点被广泛使用,但单一的密钥处理方式在传输中存在潜在的泄露危险。随着信息网络技术的高速发展,计算机需要在实现数据加解密的基础上提供更多的安全功能,对应的在硬件实现时,将多种功能的密码算法同时应用在板级资源上的传统方式会产生较大的系统功耗与逻辑资源消耗,不利于实际应用。针对以上问题,本文基于ARM核的ZYNQ-7000系列FPGA设计了一种高灵活性、低功耗、多功能的混合加解密引擎。该引擎同时支持数据加解密功能,密钥加解密功能与数据身份验证功能,并针对多算法占用系统资源问题,提出了动态可重构平台设计,实现了多种混合加解密功能的动态切换。主要内容如下:首先,确定混合加解密引擎的多加解密功能实现方案,分别对各个功能的算法模块进行设计,完成功能测试与硬件实现性能分析。在数据加解密方面,分别设计实现RSA-AES与RSA-3DES的两种混合加解密方式,供上位机进行选择。在数据完整性验证功能方面,针对数据处理量的大小,分别设计MD5算法的基本迭代结构与全流水线结构两种实现方式,并对两者的数据处理速度进行对比分析。为提高消息摘要的安全性,完成RSA-MD5的加解密设计。其次,设计混合加解密引擎的动态可重构功能实现方案。对比RSA-AES与RSA-3DES混合加解密方式的差异性,确定密码算法重构模块的分区大小。依据ZYNQ-7000系列FPGA的特点,分别完成可编程逻辑区域的动态可重构平台搭建与处理系统的软件设计,实现两种混合加解密功能的动态切换。最后,完成混合加解密引擎的系统搭建,通过串口通讯实现上位机与FPGA的数据传输与算法重构。在各个加解密功能独立设计并实现的基础上,建立加解密模块间的控制关系,对FPGA上的可重构区域进行逻辑约束完成整体的布局布线设计。以LABVIEW软件为平台设计上位机,在实现整体功能的仿真测试后,完成上位机的数据传输验证。针对资源消耗与重构速度两方面,对整体系统进行性能分析与对比,结果表明基于动态可重构技术的混合加解密引擎实现了多功能加解密,并且提高了系统灵活性,降低了逻辑资源消耗。