Geffe流密码分析与实现

2012-10-11 03:11段志刚
哈尔滨轴承 2012年4期
关键词:选择器框图密钥

段志刚 ,佟 晶

(1.深圳市龙图软件有限公司,黑龙江 哈尔滨 150001;2.中航工业哈尔滨轴承有限公司 研发中心,黑龙江 哈尔滨150036)

1 前言

流密码(stream cipher)也称序列密码,它是对称密码算法的一种。由于流密码长度可灵活变化,且具有运算速度快、密文传输中没有差错等优点,目前仍是国际密码应用的主流,而基于伪随机序列的流密码是当今最通用的密码系统。本文采用基于LFSR和非线性组合函数的方法设计密钥流生成器,不仅便于从理论上分析其安全性,而且易于硬件实现。经严格测试表明,该加密设计能产生高质量、高速的伪随机密钥流,它在保密学领域有广泛的应用。

2 流密码相关原理

流密码有以下优势:密钥的产生与使用简单,流密码按单个字符加密,不需要太多的缓存,不会在明文中产生错误扩散,实时性好,运算速度快,硬件实现的复杂度要低等,因此,流密码在相当长的时间内是人们使用的主要加密方法,目前仍是各国政府、军事、外交等核心部门使用的主流密码。流密码加密、解密框图如图1所示。

图1 流密码加密解密框图

3 Geffe流密码模块

Geffe流密码电路框图如图2 所示。这个发生器使用了六个LFSR,他们以非线性方式组合而成,LFSR1、LFSR2、LFSR3、LFSR4作为复合器的输八,LFSR5、LFSR6控制复合器的输出。LFSR5、LFSR6在四个LFSR中进行选择,且LFSR5、LFSR6比其它四个运行快1倍。

图2 Geffe模块

为了实验简易方便,六个LFSR的级数分别选为:2,3,4,5,6,7;它们的特征多项式分别为 f1(x)=x2+x+1,f2(x)=x3+x+1 ,f3(x)=x4+x+1 ,f4(x)=x4+x2+1 ,f5(x)=x6+x+1 ,f6(x)=x7+x3+1 ,并通过数据选择器控制输出。所有输入均共用同一个CP脉冲。这样既能使得该序列某些统计特性不被破坏,如伪随机序列重要特性0与1的平衡性、序列相关性等,又能对多个LFSR进行控制输出,起到非线性系统作用;可设置密钥的控制参数,改变此参数可改变相应的输出,这样可使整个密码系统构成多级密钥关系,使流密码的保密性进一步加强。

Geffe模块共六组输入,这样较单个m序列相比提高其输出周期和增加密钥空间。

六个LFSR的周期分别为 22-1,23-1,24-1,25-1,26-1,27-1 ,而Geffe发生器的周期是这六个LFSR的周期的最小公倍数。

4 Geffe模块的设计

用Quartus II来实现Geffe模块电路原理设计图如图3 所示。

图3 Geffe模块电路图

设计中用到的LFSR1至LFSR6都是在Quartus II环境下由原理图输入法D触发器形成的。图4选择器MUX是用VHDL语言生成的。程序设计如下:

编完程序后在“File”中选择“Create/-Update—Create Symbol Files for Current file”即生成选择器,见图3。设计完成后对其进行仿真,仿真结果如图4 所示。

图4 仿真结果

其中cp为时钟信号,rst为复位信号。m2至m7为初始密钥输入,其中初始密钥分配如下:m2提供给了LFSR1; m3提供给了LFSR2; m4提供给了LFSR3;m5提供给了LFSR4;m6提供给了LFSR5;m7提供给了LFSR6。Out为Geffe流密码序列输出,可从仿真结果可以看出:输出序列为一伪随机序列,利用此序列可与明文序列进行加密然后传输,利用Geffe流密码产生的伪随机码较传统m序列有周期长,输出序列复杂等良好性能。

此模块可以下载到FPGA器件中设计成加密芯片,考虑到FPGA配置文件数据比较大,为了加快配置速度,采用的是EPFlOK20生成Geffe流密码模块,该模块可应用于计算机网络和通信系统中,提高信息传输的安全性。通过改变输入参数可以模拟不同的非线性函数,避免了在传统电路设计中,模拟不同的非线性函数须变换不同电路的缺点。

5 结束语

本论文在深入学习和研究现代密码学理论特别是流密码理论与技术的基础上,完成了Geffe流密码分析与实现。利用FPGA工具对Geffe流密码进行设计,用Quartus II来实现Geffe模块的设计,并用VHDL语言实现了其功能,为流密码输出奠定了基础,利用VHDL设计了数据选择器并完成其功能,通过实验可看出产生输出序列,验证了所设计电路的正确性,为流密码芯片的实际开发与应用奠定了基础。

[1]C.E.Shannon. Communication theory of secrecy systems[J].Bell System Technology Jounal Vol.28.1949,20(2): 656-715.

[2]丁存生,肖国镇.流密码及其应用[M].上海:国防工业出版社,1994:163-224.

[3]张文政.布尔函数若干设计准则的研究[C].张文政.通信保密.北京:清华大学出版社,1994(2):105-138.

猜你喜欢
选择器框图密钥
密码系统中密钥的状态与保护*
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
74151在数据选择和组合逻辑电路中的灵活应用
TPM 2.0密钥迁移协议研究
DIV+CSS网页布局初探
电路图2017年凯迪拉克XT5
一种对称密钥的密钥管理方法及系统
四选一数据选择器74LS153级联方法分析与研究
算法框图的补全
双四选一数据选择器74HC153的级联分析及研究