论文部分内容阅读
密码学(Cryptology)是信息安全的核心技术,密码函数的设计与安全性分析成为现今研究的热点之一。密码算法按其加密方式可分为流密码和分组密码。它们的安全性与其核心设计部件布尔函数有着密切的关系。本质上,这些系统的安全性都可以归结为布尔函数的密码特性问题,构造具有良好密码学特性的布尔函数,是密码学研究的一个重要课题。密码学中的大量问题在数学上可以表现为困难的优化问题。而演化计算是用计算机模拟大自然的演化过程,特别是生物进化过程来求解困难优化问题的一类计算模型。本文将演化计算应用于密码学领域,采用演化计算的方法来设计密码函数,与传统的数学设计方法相比,该方法可自动生成高密码特性的密码函数。本文首先研究了布尔函数的相关密码特性,建立了相关演化密码函数的数学模型,研究了演化设计布尔函数的关键问题,并用演化计算方法设计高密码特性的布尔函数。布尔函数的设计问题属于离散优化问题,而演化计算的一些新算法,如粒子群算法(Particle Swarm Optimization, PSO),是建立在连续空间的基础上的,因此本文引入了空间转换概念,建立连续空间到离散空间的映射,并且采用局部搜索方法和耗散(Dissipative)机制减轻连续空间到离散空间映射上的损失,从而使得粒子群算法(PSO)可以成功应用到布尔函数的设计上。此外,本文根据PSO算法的基本思想,引入交换子和交换序概念,设计出可以直接在离散领域进行搜索的PSO算法,从而避免了空间转换方法带来的损失。其次运用模拟退火算法(Simulated Annealing, SA)完成了布尔函数的自动设计,并对模拟退火算法做改进,取得了较好的实验结果。但模拟退火算法收敛时间较长,而PSO算法则能较快地收敛,因此,本文中将两种算法结合,提出了PSOSA算法,解决布尔函数的自动设计问题,取得了较好的结果。加密算法可以采用软件或者硬件实现,软件实现比较容易,硬件实现则在速度上有着强大的优势。现在越来越多的加密算法开始采用硬件实现,可编程逻辑器件是硬件实现中较为普遍的方式。最后讨论了布尔函数与S盒之间的关系,完成了基于FPGA的S盒硬件实现的设计方案。