|
项目背景及可行性分析
项目名称:基于多级SE网络和混沌加密原理的FPGA设计与实现
项目主要内容:提出了混沌加密算法为基础核心,并结合多级Shuffle-Exchange网络设计并实现一个高效的加密系统。在解决多条输入数据通道因复用要求而造成访问冲突的问题后,提高加密模块冗余度,实现系统吞吐能力的提升和最佳配置需求。
混沌加密算法本身的非周期、连续宽频带、类噪声和长期不可预测等特点使得加密的数据更加安全可靠,另一方面多级Shuffle-Exchange网络的应用和多种控制方式的实现可以使得本设计适应不同需求的应用。将并行处理系统处理结构中的多级SE网络应用于整个混沌加密方式能够提高整个系统的不可预测性提高安全等级。
项目实施方案
A)方案基本功能框图及描述
本系统由以下几部分构成:主控制模块、输入输出通道、多级Shuffle-Change网络和基于混沌加密理论的加密单元。
1、主控制模块
主控制模块作为整个系统的核心控制着系统各部分的工作状态协调系统的资源配置以便使整个系统取得最佳的吞吐性能。一方面在主控制模块的控制下系统可以实现多级Shuffle-Change网络的不同拓扑连接以达到数据输入通道和混沌加密单元的最佳匹配,实现提高系统性能的目的;另一方面通过外部模式选择开关可以使主控制模块工作在通道镜像编码、分组通道编码或随机通道匹配编码等方式下以达到对不同应用要求的编码的效率。
注:镜像编码指输入通道的数据经过多级SE网络到达混沌编码器后其形成的密文流经过的后级SE网络后其最终输出通道与输入的通道号向匹配,即形成一组输入输出镜像。
分组通道编码指相邻的一组通道作为一个整体的加密单元被混沌加密单元组进行加密其输出结果在最终的加密输出通道中也是以相邻的一组连续通道提供给外部的。(这方便了这样的一种应用,即将一份名文按一定大小进行分组,每组通过一个通道进行加密,最终将产生的密文组重新进行组合)
随机通道匹配编码方式其目的是使混沌加密器的效率最大化,每次的输入通道和最终的输出通道并不一定相同连接方式采用的算法使其能够得到最大的使用效率。
2、输入输出通道
由8个相互独立的输入(输出)预处理器组成,其一端输入(输出)外部数据另一端输出(输入)混沌加密单元的数据流。各通道可分为三类:低速串行数据通道、高速串行数据通道和并行数据通道。
3、多级Shuffle-Change网络
多级Shuffle-Exchange网络又称为Omega网是一种高性能计算机体系结构中极为重要的互联体系结构,经常用于多个处理器之间或多处理器与存储体群中的互联,以解决各器件因为复用要求而造成的访问冲突问题。SE网络由交叉开关组成具有扩展性强的优点,并可以实现输入级与输出级间任意器件的互联数据传输。
多级混洗—交换网络结构:它由n级构成,每一级包含一个无条件混洗拓扑线路和一列可控的二元交换开关,前后重复,便于制造。各级编号是n-1,……,0,即按降序排列。
在多级混洗—交换网络中,单独一级混洗拓扑线路可完成一次数据混洗(shuffle),而单独一列二元交换开关在处于“交换”状态时可完成一次交换操作(Cube0)。如果各级二元交换开关都处于“直连”状态,N个结点的数据通过网络仅经过n次混洗操作,排列顺序最终恢复输入状态(混洗函数性质2);如果各级二元交换开关都处于“交换”状态,则N个结点的数据在每次混洗之后紧接着一次交换(Cube0),也就是地址码的最低位取反,最后n位地址均被取反。程序员根据数据置换或复制的需要,可以灵活地设置各开关的状态。
本模块结构主要起到传递数据流的作用,拓扑连接方式的选择由主控制器统一控制管理。其使用状态通过相应的信号通路报告给主控制单元。
4、混沌加密单元
混沌是近年来较快的非线性的重要分支,因其具有非周期、连续宽频带、类噪声和长期不可预测等特点,所以特别适用于保密通信等领域。
混沌系统由于对初值的敏感性,很小的初值误差就能被系统放大,因此,系统的长期性是不可预测的;又因为混沌序列具有很好的统计特性,所以它可以产生随机数列,这些特性很适合于序列加密技术。信息论的奠基人美国数学家Shannon指出:若能以某种方式产生一随机序列,这一序列由密钥所确定,任何输入值一个微小变化对输出都具有相当大,则利用这样的序列就可以进行加密。混沌系统恰恰符合这种要求。
混沌系统的特性使得它在数值分布上不符合概率统计学原理, 得不到一个稳定的概率分布特征;另外, 混沌数集是实数范围, 还可以推广到复数范围。因此, 从理论上讲, 利用混沌原理对数据进行加密,可以防范频率分析攻击、穷举攻击等攻击, 使得密码难于分析、破译。
本设计中的该部分利用当今最新的混沌加密理论作为加密基础,采用具有混沌特性的函数对名文进行加密的处理单元,为了加快处理速度采用流水线工作方式提高时间重叠性,并提供4个独立处理单元以提到资源重复度和任务重叠度,通过以上努力提高整个系统效率,降低系统使用的速度瓶颈。
需要的开发平台
实现本方案所需要的基本功能、功能、接口
Spartan-3E,50万门,SDRAM,USB1.1/2.0,RS-232,SD/MMC接口,LED指示,LCD显示
所需要的目标FPGA开发平台,简述为什么需要此平台
Spartan-3E,50万门,因为本设计需要至少实现4个加密单元因此需要尽可能多的逻辑门数。SDRAM和SD/MMC接口用来做数据存储作为明文和密文的载体。USB和RS-232作为系统的数据对外传输接口。
是否需要其它配套的开发工具
需要相映开发版的下载器
2.方案实施过程中需要开发的模块
核心的混沌加密算法和多级SE网络是系统的关键部分,需要大量的工作对其进行验证;整个系统拟采用下载的软核进行控制,利用成熟的控制方式降低出错率。
需要的其它资源
1.测试设备
需要的测试设备有万用表、示波器、逻辑分析仪等。
2.方针、开发工具
仿真工具用Modelsim,开发工具包括Ise、Matlab等 |
|