论文部分内容阅读
随着计算机技术和通信技术的迅速发展,信息安全越来越受到重视。传统的数据加密标准DES因加密强度低、易受攻击而逐渐被新的加密标准AES取代。多核处理器日益普及,充分利用多核提供的高性能开发并行软件,逐步取代串行软件,将是软件业的发展趋势,而多核处理器的发展也同样离不开对并行软件的应用。因此,在多核平台上对AES算法的并行化设计与实现,对于强化计算机网络安全和提高网络通信效率意义重大。本文首先总结了多核平台上并行优化AES算法涉及到的多核、多线程、并行计算等一些关键技术,以及AES算法相关的数学知识;在此基础上详细地描述AES算法的整体结构,然后对密钥编排和轮变换进行详细的分析,同时讨论算法的解密过程。通过对算法的核心部分-轮变换的各构成变换的分析,提出基于数据流分解和基于数据分解两种分解方式对AES算法进行并行优化,其中的数据分解又包括对输入明文的数据分解和对轮变换各个构成变换的数据分解两种方法。详细描述两种分解方式的分解过程,同时进行可行性分析。根据AES算法的特性,本文使用三种具体的分解方法。采用对各构成变换的数据流分解方法使得一个构成变换不必等到上一个构成变换执行完毕即可执行本变换,采用对输入明文的数据分解方法使各明文数据块同时实现加解密,采用对各构成变换的数据分解方法使各个构成变换自身并行执行。本文对这三种分解方法都通过实验进行了实现和验证,实验结果表明,对AES算法各构成变换的数据流分解方法能够较好提升算法的加解密性能,对输入明文的数据分解方法能够显著提升算法的加解密性能,并且随着数据量的增大,性能提升更加明显,对AES算法各构成变换的数据分解方法不能提升算法的加解密性能。总之,对AES算法并行化所带来的性能提升基本符合实验预期目标。