首页> 中国专利> 基于混沌算法的网络数据加密卡

基于混沌算法的网络数据加密卡

摘要

基于混沌算法的网络数据加密卡,提供一种序列密码一直是军事、国防及政府要害部门使用的高保密性密码,利用混沌算法产生序列密码容易扩展密钥空间和提高密钥选取的能力,但更主要的是由于混沌是极其复杂的非线性系统,输出的随机性大大增加了破译难度,本发明将混沌算法应用在网络数据加密卡上,形成高保密性能的基于混沌算法的网络数据加密卡,其组成包括:网络数据加密卡,所述的网络数据加密卡上装有混沌密码加密芯片。本发明适用于国防、军事、银行、企业等要害部门,对重要机密部门传输信息实行点对点加密,保证数据传输的安全性。

著录项

  • 公开/公告号CN101179375A

    专利类型发明专利

  • 公开/公告日2008-05-14

    原文格式PDF

  • 申请/专利权人 黑龙江大学;

    申请/专利号CN200610151014.9

  • 发明设计人 丁群;杨自恒;陈红;时映鹏;

    申请日2006-11-12

  • 分类号H04L9/00;

  • 代理机构哈尔滨东方专利事务所;

  • 代理人陈晓光

  • 地址 150080 黑龙江省哈尔滨市南岗区学府路74号

  • 入库时间 2023-12-17 20:11:07

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-01-11

    未缴年费专利权终止 IPC(主分类):H04L9/00 授权公告日:20120404 终止日期:20151112 申请日:20061112

    专利权的终止

  • 2012-04-04

    授权

    授权

  • 2009-08-12

    实质审查的生效

    实质审查的生效

  • 2008-05-14

    公开

    公开

说明书

技术领域:

本发明涉及一种信息安全产品,具体涉及一种基于混沌算法的网络数据加密卡。

背景技术:

网络数据加密卡属于信息安全产品具有实际开发意义。目前国内外网络数据加密卡的设计属于起步阶段。主要是采取以下两方面技术:将国外公开算法,例如DES算法、RSA算法、MD5算法、SHA-1算法等,完全转为软件,分别下载到芯片中形成加密芯片;集合国外公开算法或进行部分修改,下载到芯片中形成加密芯片。

缺陷与不足:

将实现加密算法的原程序固化在加密卡芯片内部,这样仿佛可以使加密算法更贴近硬件运行速度,但其核心还是将算法绑定在软件环境下,系统加密数据的速度取决于CPU的工作频率,而我们知道,CPU的工作频率目前存在瓶颈问题在一定程度上限定了大容量数据流的实时加密,另外目前软件解密人员利用特殊手段可以截获软件的加密算法,这种加密方式难以保证数据的速度和安全性。

由于美国对高级别加密算法严格控制,国内用从美国进口的普通加密算法难以实现高级别的加密。例如对称算法密钥长度40位,仅花费5美元、2秒钟时间可破译。虽然加密算法很多,例如DES、RSA、MD5算法等,但几乎都是从国外引进的加密算法,对于普通的信息加密可以利用,而对于国防军事机密或国家政府要害部门信息加密有不安全因素,能否研制具有我国自主知识产权的加密产品是亟待解决的问题。

发明内容:

本发明的目的是提供一种将混沌算法应用在网络数据加密卡上,形成高保密性能的基于混沌算法的网络数据加密卡。

上述的目的通过以下的技术方案实现:

一种基于混沌算法的网络数据加密卡,其组成包括:网络数据加密卡,所述的网络数据加密卡上装有混沌密码加密芯片。

上述的基于混沌算法的网络数据加密卡,所述的混沌密码加密芯片由混沌序列密码模块、控制模块和数据加解密模块组成。

上述的基于混沌算法的网络数据加密卡,所述的混沌密码加密芯片通过PCI总线与设备进行数据交换,使普通数据进行加密传送。

这个技术方案有以下有益效果:

1.本发明研究基于混沌算法的序列密码设计方法,使输出密钥序列在保留了良好统计特性基础上,混乱该序列,增加保密强度,与传统序列密码方法相比具有实现简便、系统复杂度高、抗攻击性强特点,是一种新型的具有创新意义的加密方法。

2.利用FPGA器件实现混沌加密算法运算问题,使许多复杂的数学运算以简单的集成电路形式体现,加快运算速度和提高了加密芯片集成度,本研究中的数字积分器、混沌序列电路设计等都有突出的设计特点,为混沌密码设计提供了一个新的尝试与设计手段。

3.本发明在对混沌理论进行研究的基础上,设计混沌密码加密核心芯片,并利用FPGA予以实现,其中包括混沌密钥序列模块、控制模块和数据加解密模块等,该加密芯片通过PCI总线与设备进行数据交换,使普通数据进行加密传送。

4.信息安全日益重要,具有我国独立开发的信息安全产品更具有重要性,研究基于FPGA的混沌序列密码网络数据加密卡,将所研究的混沌加密芯片嵌入网络数据加密卡中,对网络传输信息进行实时加密,可广泛用于国防、军事、银行、企业等要害部门,保障网络通信、电子商务等各种网络应用的安全性,适应信息安全和现代保密通信技术发展的趋势。

附图说明:

附图1是基于混沌算法的网络数据加密卡的混沌序列密码模块框图。

附图2是基于混沌算法的网络数据加密卡的混沌序列密码模块中混沌序列发生器框图。

附图3是基于混沌算法的网络数据加密卡的混沌序列密码模块中混沌序列发生器电路结构图。

附图4是基于混沌算法的网络数据加密卡的混沌序列发生器输出序列时序图。

附图5是基于混沌算法的加密芯片(FPGA部分)及网络数据加密卡框图。

附图6是基于混沌算法的网络数据加密卡电路图。

附图7是附图6中FPGA加密芯片电路图。

附图8是附图6中MAC芯片电路图。

附图9是附图6中PCI接口电路图。

附图10是附图6中存储器的电路图。

附图11是附图6中USB接口电路图。

附图12是附图6中电源部分的电路图。

本发明的具体实施方式:

实施例1:

一种基于混沌算法的网络数据加密卡,其组成包括:网络数据加密卡所述的网络数据加密卡上装有混沌密码加密芯片,

混沌密码加密芯片

混沌密码加密芯片核心部分是混沌序列密码模块,其框图如附图1所示。从该框图可以看出,由8个LFSR(Linear Feedback Shift Register)序列作为驱动源,Lorenz混沌系统与数据选择器I构成对8个LFSR序列进行非线性变换部分,数据选择器I输出序列与数据选择器II输出序列相异或后产生密钥输出序列。

加密芯片除混沌序列密码模块外还有控制模块和加解密模块。主要由混沌序列密码模块产生一组无限长密钥序列,控制与明文逐位进行加密产生密码的过程。

混沌密钥序列模块理论部分:

Lorenz方程组的数学模型如(1)式所示。Lorenz系统既有分叉、混沌现象,又有倍周期、不动点等稳定现象,并有多个系统变量和系统参数,系统结构极其复杂,具有不可预测性,因而适合建立加密系统。

dXdt=9(Y-X)dYdt=35X-Y-20XZdZdt=5XY-1.5Z---(1)

本电路以数字积分方法对Lorenz方程进行求解,生成混沌序列x(n),y(n),z(n),将其分别转换成二值序列流s1(n),s2(n),s3(n)。为此引入转换函数T[x(n)],T[y(n)],T[z(n)],转换函数定义如公式(2)、(3)、(4)所示。

s1(n)=T[x(n)]=0x(n)k=02m-1I2km1x(n)k=02m-1I2k=1m---(2)

s2(n)=T[y(n)]=0y(n)k=02m-1I2km1y(n)k=02m-1I2k=1m---(3)

s3(n)=T[z(n)]=0z(n)k=02m-1I2km1z(n)k=02m-1I2k=1m---(4)

其中m>0并为任意整数,I0m,I1m,I2m,……是[0,1]区间的2m个连续的等分区间。转换值落在量化函数的相应区间则分别得到0或1。由于混沌信号具有良好的随机统计特性,这样所转换后的序列流s1(n)、s2(n)、s3(n)在理论上具有优良的统计特性,并经过实验得到验证。将上述三个序列的数据输入给数据选择器I,控制LFSR组合序列密码输出;同时三个序列通过数据选择器II产生信号,此信号与数据选择器I输出信号相异或后输出。

混沌序列发生器电路部分:

本电路利用美国Altera公司的DSP Builder工具进行设计,基于FPGA实现,其电路框图和结构图如附图2、附图3所示。为达到硬件电路简化目的,使变量的函数值控制在[0,1]范围内,先将混沌输出信号x(n),y(n),z(n),转换成|x(n)|,|y(n)|,|z(n)|信号,再将其信号压缩到[0,1]区间。

对采样值X={x(n)|n=0,1,2……,x(n)∈[0,1]},根据转换函数公式(2)得知转换后序列值为S={s1(n)|n=0,1,2,……,s(n)∈{0,1}},量化单位Δ=1/2m,其中m为任意正整数,量化区间为[0Δ1Δ)∪[1Δ2Δ)∪[2Δ3Δ)……∪[(2m-1)Δ2mΔ],取k=0,1,2,……,2m-1,这样量化函数公式(2)可以由下式实现。

s1(n)=0,x(n)[2(2k+1)Δ)1,x(n)[(2k+1)Δ(2k+2)Δ](5)为使电路易于实现,公式(5)进行线性变换

s1(n)=0,2mx(n)[2k(2k+1))1,2mx(n)[(2k+1)(2k+2)](6)即量化单位Δ=1,整个量化区间为

[0 1)∪[1 2)∪[2 3)……∪[(2m-1)2m],这样可利用2mx(n)乘积整数位来确定量化区间,根据其乘积整数位个位的奇偶性来确定序列输出为0或1,对于x(n)和y(n)的转换也按此方法进行。这样硬件电路只需要移位寄存器完成2mx(n)功能,位抽取器完成个位奇偶判断功能,即能产生输出序列,该设计方法使混沌输出序列电路大为简化。Lorenz系统三路输出逻辑电路波形图附图4所示。

在Lorenz混沌序列电路设计中选用DSP Builder器件库中加法器、延时器、乘法器、放大器、数据选择器,数字积分器自行定制并通过验证,初始值的设置利用数据选择器完成。量化电路利用筒型移位寄存器和抽取型位选择器构成。

实施例2:

1.基于混沌加密算法网络加密卡:

网络数据加密卡,所述的网络数据加密卡上装有混沌密码加密芯片,所述的混沌密码加密芯片由为混沌序列密码模块、控制模块和数据加解密模块组成。

此网络加密卡是利用混沌理论和基于FPGA进行实现的加密装置,通过配套软件来实现加密和非加密传输,如附图5是网络加密卡框图,附图6是网络加密卡电路图。

我们每次往PCI接口写入的16位数据会在控制模块分组,高8位(A8-A1)做为地址和控制线复用,低8位(D8-D1)做为要数据信息。

对于传输的数据,我们通过它的地址线A6来判断它的类型。

  A8  A7  A6  A5  A4  A3  A2  A1

  D8  D7  D6  D5  D4  D3  D2  D1

当A6=1时,传输的数据为正常数据,不进行任何处理。数据在控制模块判断后直接经过数据加/解密传输模块,传给网卡芯片,混沌序列密码模块不进行任何动作。

当A6=0时,传输的数据为和加密传输相关的数据。

当一个加密传输开始时,首先要输入传输加密密钥,这是软件会置地址线A6=0,A[5,4]=10,密钥以高低电平的形式和地址,一起进入控制模块,这时控制模块首先会判断出A6等于0,表明这是个加密传输数据,再判断A[5,4]是否等于10,如果等于,控制模块会把D8-D1的数据输出到混沌序列密码模块的密钥输入端口,完成密钥的输入。

输入完密钥后,就要进入加密传输阶段,对于加密传输的数据,分为IP头信息和IP数据信息,我们只对其中的IP数据信息进行加密,而IP头信息会像正常数据一样传给网卡芯片,这样就不会影响到路由。对于IP数据信息,在每发送8位IP数据信息前,我们先发送一个地址A6=0,A[5,4]=11的数据,它的目的是控制控制模块产生一个CP脉冲,并把它给混沌序列密码模块,这样混沌序列密码模块就会生成8位的密码,并存于数据加/解密传输模块中(m8-m1)。然后发送8位IP数据信息,我们把它的地址A6=0,A[5,4]=00,控制模块会判断出D8-D1是IP数据信息,并控制D8-D1与m8-m1异或,将异或结果输出给网卡芯片,完成加密传输。

数据加/解密传输模块和网卡芯片4种信号连接,地址总线、数据总线、写信号、读信号,这些信号全部都由控制模块控制。

接收方的工作方式和发送类似,在接到加密信息后,首先输入密钥,然后在读取每个8位IP数据时,都先控制混沌序列密码模块产生8位序列密码,并在加/解密传输模块异或运算后返回计算机。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号