一种数据流加密的方法

文档序号:7588072阅读:430来源:国知局
专利名称:一种数据流加密的方法
技术领域
本发明涉及一种计算机应用技术领域,具体地说是一种数据流加密的实现方法。技术背景随着计算机技术的发展,政府、企业、涉密机关等对安全通讯及移动存储设备的数 据安全要求越来越高。但是,移动介质存在很多安全隐患,数据的随意拷贝、数据的任意打印、移动介质 的丢失等均能导致信息的泄密或被盗;黑客的入侵使网际信息传输完全暴露在不法分子面 前。因此,如何保证信息保存及传递的过程中的数据安全,成为安全通讯和移动存储设备重 点需要解决的问题。安全移动存储设备替代普通移动存储设备的趋势越来越明显。目前市场上针对安全移动存储、安全通讯方面的数据流加密设备主要采用软件加 密。这些方法安全度低,很容易被攻破,非常不适合政府、涉密机关等安全度要求高的用户 使用。另外一种安全移动存储设备的解决方案安全度比较高,但是其采用的是CPU实时搬 运数据的方法。这种方法虽比前一种方法安全,但是其速度一般比较低,远远满足用户对高 速度要求。为满足相关领域大批量高速实时加密的市场需求,必须开发高速加密产品。数据流实时加密方法的技术实现

发明内容
本发明公开一种高速数据流实时加密方法。本发明的方法是按以下技术方案实现的,采用高速的通讯接口、高速的加解密模 块、接收模块、发送模块和内存或存储器配合,对同一流动方向接收和发送的数据流进行分 离处理,完成数据流的打包接收、加密或解密和发送,高速接口采用双端口的方式;具体步骤如下每个功能模块分别对应一个内存,在第η个周期接收到的数据包存放在内存内; 在第η+1个周期,将内存切换对应到加密或解密模块,对明文或密文数据加密或解密;在第 η+2个周期,再将内存切换对应到发送模块,并将内存中的明文或密文发送出去,完成同一 个数据包的处理过程;为实现流水线工作方式,在同一个周期内,同时处理3个数据包,在第η个周期接 收数据到内存1,加密或解密内存2中的数据,并同时将内存3中的数据发送出去;在第η+1 个周期中,内存1切换到加密或解密模块,内存2切换到发送模块,而内存3切换到接收模 块,这3个功能模块再分别对相应的数据进行处理,以保证平均一个处理周期处理一个数 据包,实现的流水线工作方式;采用先进先出FIFO存储器的处理步骤如下数据接收模块在收到数据后立刻将数据发送到第一 FIFO存储器中,只要第一 FIFO存储器不满,就继续接收新的数据,加密模块从第一 FIFO存储器中取出数据进行加 密,只要第一 FIFO存储器不空并且第二 FIFO存储器不满,就可继续加密新的数据,数据发 送模块从第二 FIFO存储器中取出数据发送出去,只要第二 FIFO存储器中的数据不空,就继续发送数据。高速加解密模块采用安全等级比较高、执行速度比较块的算法,算法采用的是 SM1、SM4、AES 或 3DES 中的一种。高速接口采用的是USB2. 0、SATA, PATA或以太网接口。本发明的优异效果是该方法利用一颗芯片内的硬件模块完成数据的加密和高速 传输的功能,安全度更高,传输速度更快。可由FPGA实现,也可以通过设计专用集成电路实 现。该方法摒弃了传统的数据进出均由CPU搬运方式,而是采用芯片中的硬件模块实现,加 密、传输的过程,每一个步骤均由专门的硬件模块负责。专用算法模块完成对数据流的快速 加密,高速的传输接口完成数据的传输,使大批量数据能真正地、安全地流动起来。加密的 同时在高速传输,从而实现了对数据流的实时加密传输,满足安全移动存储、安全通讯等领 域对速度和安全性的需求。本发明的高速数据流加密的实现方法有下面几个优点,可满足实时、高速、安全的需求。(1)加密或解密和数据传输完全由芯片实现,使用CPU的代码量非常少,硬件实现 比软件实现的速度要快十几倍甚至几十倍。(2)在芯片内部采用流水线架构,使得在同一个周期内并行执行3个模块,同时完 成3个任务,大大缩短了一个数据包的平均处理时间。(3)2个高速的通讯接口使接收和发送分开,同一时间可以接收一个数据包并发送 另外一个数据包。(4)内部集成高速的高安全度的加密算法,使数据以密文的形式在通路上出现,保 证数据的安全。


图1是接收、加密和发送原理图;图2是数据流接收至发送流程图;图3是数据流的接收至发送工作原理图;图4是先进先出FIFO存储器的数据流处理流程图。
具体实施例方式根据说明书附图对本发明的方法作以下详细的说明;实现高速数据流加解密的前提是采用高速的通讯接口和高速的加解密模块,完成 数据包的接收、加密/解密、发送的过程。高速接口采用双端口的方式,对同一个流动方向 的数据流进行接收和发送分离,高速接口可采用USB2. 0、SATA、PATA、以太网等接口。高速加 解密模块可采用安全等级比较高、执行速度比较块的算法。一般采用SM1、SM4、AES或3DES寸。从图1可见数据流从高速通讯接口 1流入,经过高速加密模块2后,通过另外一 个高速接口 3发送出去,完成一个高速加密通讯的过程。本发明最大的特点在于采用流水线的数据处理,虽然采用高速的通讯接口和高速 加密模块,但是每一个数据包在完成接收、加密/解密、发送这三个步骤时,都会占用一定的时间,如果采用顺序执行,这类设备的速度要比没有加密功能的降低很多。为提高加密传 输速度,在数据加密传输的过程中采用了流水线的数据处理方式,可使处理速度再提高几 倍。达到几乎与没加密的设备相同的速度。处理一个数据包时将整个过程分解为3个部分接收、加密或解密、发送。当大批 数据需要处理时,每个时间周期内可同时完成3个数据包中的其中一个步骤,如图2所示, 即平均一个时间周期处理一个数据包,该时间周期即为流水线周期。但在一个周期内必须 保证3个步骤全部执行完毕,由图2可见,流水线数据处理周期为接收、加密或解密、发送三 个过程中时间最长的一个。在此过程中,如果3个阶段的处理时间相近,处理周期明显减少 为原来的1/3左右,一个周期处理一个数据包。如何保证一个处理周期内可同时对3个数据包分别处理是关键。从内存使用的角 度,本发明使用数据存储域切换方法或fifo方法。数据内存切换适合于与集成CPU 的SOC芯片使用,fifo方式更适合于FPGA的应用。如图3所示,每个功能模块分别对应一个内存模块,在第η个周期,接收明文或密 文并存放在内存1内;在第η+1个周期,将内存1切换对应到加密或解密模块,将内存1中 的数据包加密或解密;在第η+2个周期,将内存1切换对应到发送模块,并将内存1中的明 文或密文发送出去,完成同一个数据包的处理过程。为实现流水线工作方式,在同一个周期内,同时处理3个数据包。在第η个周期接 收数据到内存1,加密或解密内存2中的数据,并同时将内存3中的数据发送出去;在第η+1 个周期中,内存1切换到加密或解密模块,内存2切换到发送模块,而内存3切换到接收模 块,这3个功能模块再分别对相应的数据进行处理,以保证平均一个处理周期处理一个数 据包,实现的流水线工作方式。这种方法可以最大限度地利用所有模块资源,大大提高数据流加密的速度,使实 时加密通讯和高速加密存储成为可能。这种方法非常适合于内嵌CPU的芯片中,由CPU统 一调配各模块与内存之间的对应关系。图4所示为采用fifo (先进先出存储器)的方案。数据接收模块1在收到数据后 立刻将数据发送到2中,只要2存储器不满,就可以继续接收新的数据。加密模块3从2中 取出数据进行加密,只要2不空并且4不满,就可继续加密新的数据。数据发送5从4中取 出数据发送出去,只要4中的数据不空,就可以继续发送数据。这种方案更有利于在FPGA 中实现。整个设备的处理速度等于1、3、5三个模块中最慢的一个。本发明的方法与传统加密方法进行对比其速度比传统的方法可提高50倍甚至更 高,有效解决在通讯、移动存储中加入安全度高的加密算法后速度明显降低的问题,为实现 高速数据流加密、高安全性的加密存储设备以及安全通讯设备提供了可靠的硬件和技术保 障。
权利要求
1.一种数据流加密的方法,其特征在于,采用高速的通讯接口、高速的加解密模块、接 收模块、发送模块和内存或存储器配合,对同一流动方向接收和发送的数据流进行分离处 理,完成数据流的打包接收、加密或解密和发送,高速接口采用双端口的方式,具体步骤如 下每个功能模块分别对应一个内存,在第η个周期接收到的数据包存放在内存内;在第 η+1个周期,将内存切换对应到加密或解密模块,对明文或密文数据加密或解密;在第η+2 个周期,再将内存切换对应到发送模块,并将内存中的明文或密文发送出去,完成同一个数 据包的处理过程;为实现流水线工作方式,在同一个周期内,同时处理3个数据包,在第η个周期接收数 据到内存1,加密或解密内存2中的数据,并同时将内存3中的数据发送出去;在第η+1个周 期中,内存1切换到加密或解密模块,内存2切换到发送模块,而内存3切换到接收模块,这 3个功能模块再分别对相应的数据进行处理,以保证平均一个处理周期处理一个数据包,实 现的流水线工作方式;采用先进先出FIFO存储器的处理步骤如下数据接收模块在收到数据后立刻将数据发送到第一 FIFO存储器中,只要第一 FIFO存 储器不满,就继续接收新的数据,加密模块从第一 FIFO存储器中取出数据进行加密,只要 第一 FIFO存储器不空并且第二 FIFO存储器不满,就可继续加密新的数据,数据发送模块从 第二 FIFO存储器中取出数据发送出去,只要第二 FIFO存储器中的数据不空,就继续发送数 据。
2.根据权利要求1所述的方法,其特征在于,高速加解密模块采用安全等级比较高、执 行速度比较块的算法,算法采用的是SMl、SM4、AES或3DES中的一种。
3.根据权利要求1所述的方法,其特征在于,高速接口采用的是USB2.0、SATA、PATA或 以太网接口。
全文摘要
一种数据流加密的方法,该方法利用一颗芯片内的硬件模块完成数据的加密和高速传输的功能,安全度更高,传输速度更快。可由FPGA实现,也可以通过设计专用集成电路实现。该方法摒弃了传统的数据进出均由CPU搬运方式,而是采用芯片中的硬件模块实现,加密、传输的过程,每一个步骤均由专门的硬件模块负责。专用算法模块完成对数据流的快速加密,高速的传输接口完成数据的传输,使大批量数据能真正地、安全地流动起来。加密的同时在高速传输,从而实现了对数据流的实时加密传输,满足安全移动存储、安全通讯等领域对速度和安全性的需求。
文档编号H04L9/06GK102111263SQ20111004133
公开日2011年6月29日 申请日期2011年2月21日 优先权日2011年2月21日
发明者万海山, 孙强, 朱启超, 李栋, 欧钰鹏, 苗功勋 申请人:山东中孚信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1