一种基于多缓冲方式的加密卡的加解密方法技术

技术编号:11169136 阅读:88 留言:0更新日期:2015-03-19 03:59
本发明专利技术涉及一种基于多缓冲方式的加密卡的加解密方法,所述方法为:在主机侧和加密卡的处理器上开辟长度相同、数量相等的缓冲区;将主机侧缓冲区的待加解密数据发送到加密卡处理器的缓冲区上;将所述加密卡处理器的缓冲区上的待加解密数据进行加解密;所述处理器将加解密后的数据发送到主机侧缓冲区内。本方法减少待加解密数据在传输过程中的时间损耗,提高加密芯片的利用效率,从而提高数据加密卡的加解密速度;提高了数据加密卡的整体性能。

【技术实现步骤摘要】
—种基于多缓冲方式的加密卡的加解密方法
: 本专利技术涉及网络信息安全领域,更具体涉及。
技术介绍
: 数据加密是网络信息安全的一个重要的分支,是保证数据在信息网络安全传输的重要方法。目前加密方法主要采用网络通信设备配数据加密卡的方案。数据加密卡通过PCI接口与主机连接。由于网络传输速度与数据加密卡的加解密性能密切相关,提高数据加解密速度,是提高网络数据传输速度一个有效方法。 提高数据加密卡加解密性能的方法主要有两个方面,一是提高数据加密卡上密码芯片的加解密性能,二是在密码芯片给定的情况下,尽量提高数据传输效率,降低数据在总线传输上的时间损耗,提高密码芯片的利用效率。受制于密码算法技术发展的限制,通常情况下密码芯片给定,无法通过更换更高性能的密码芯片。因此只能通过提高密码芯片的利用效率来提高数据加密卡的性能。 图1显示了数据从主机经过PCI到DSP,再由DSP操作密码芯片实现加解密,最后通过PCI总线返回主机的一个流程。其中密码芯片的操作受制于密码芯片的自身时序限制,提高性能有限。因此缩减数据在PCI总线上的传输时间成为提高数据加密卡性能的关键技术。 数据加密卡的设计采用单缓冲区方式。在主机与数据加密卡处理器DSP上分别设置有一个数据缓冲区,用于数据交换,如图1所示。以数据报文加密为例,主机先将明文存储于主机侧的数据缓冲区,同时通知数据加密卡上的处理器DSP。DSP将主机缓冲区内的明文数据拷贝至自己的缓冲区内,操作密码芯片对明文数据进行加密,加密后的数据覆盖明文数据。加密结束后,DSP传输数据至主机的数据缓冲区,密文覆盖明文,并通知主机加密完成。DSP对操作密码芯片只占用加密过程的部分时间。另有大量时间被浪费在PCI总线的数据传输上。当数据在总线传输的时候,密码芯片并没有工作,浪费了密码芯片的运算能力。经过评估约占整个加密时间的30%左右,如果能够节省这部分时间,将使得数据加密卡的性能得到大幅提闻。
技术实现思路
: 本专利技术的目的是提供,该方法提高了数据加密卡的性能。 为实现上述目的,本专利技术采用以下技术方案:,所述方法包括以下步骤: (I)在主机侧和加密卡的处理器上开辟长度相同、数量相等的缓冲区; (2)将主机侧缓冲区的待加解密数据发送到加密卡处理器的缓冲区上; (3)将所述加密卡处理器的缓冲区上的待加解密数据进行加解密; (4)所述处理器将加解密后的数据发送到主机侧缓冲区内。 本专利技术提供的,所述步骤(2)中待加解密数据按照缓冲区长度分组,所述主机将待加解密数据按照顺序依次存放在主机侧缓冲区中;所述缓冲区的长度根据实际情况设定。 本专利技术提供的,将所述待加解密数据通过DMA成组数据传送方式发送到所述加密卡处理器的缓冲区中,并标记其缓冲区为待处理。 本专利技术提供的另一优选的,取出所述步骤(3)中处理器缓冲区中的待加解密数据,将待加解密数据送到加密卡控制的加密芯片进行加解密处理,所述加密芯片处理完成后,所述处理器将加解密后的数据取回,保存在缓冲区中,并标记该缓冲区为已处理。 本专利技术提供的再一优选的,在所述步骤(4 )中,所述处理器从其缓冲区将加解密后的数据发送给主机侧缓冲区后,将所述处理器的缓冲区为空;所述处理器通过中断方式通知主机取走数据。 本专利技术提供的又一优选的,所述主机在其侧缓冲区取数据时,将新的待加解密数据添加到其侧空的缓冲区内并通知所述处理器取数据。 本专利技术提供的又一优选的,所述处理器在提取待加解密数据时,通过DMA成组数据传送方式取走所述主机侧缓冲区内的待加解密的数据添加到所述处理器空的缓冲区内。 本专利技术提供的又一优选的,所述处理器为DSP芯片,所述DSP芯片通过其自带PCI接口主机通信。 本专利技术提供的又一优选的,所述DSP外接FLASH芯片和RAM随机存储器芯片,所述DSP通过CPLD控制公开密钥密码算法芯片和真随机数生成器。 由于采用了上述技术方案,本专利技术得到的有益效果是: 1、本专利技术主要用于利用多缓冲区方式,减少待加解密数据在传输过程中的时间损耗,提高加密芯片的利用效率,从而提高数据加密卡的加解密速度; 2、本专利技术中一直保持DSP缓冲区中有待加密数据等待,使加密芯片一直处于满负荷工作状态,从而提高了数据加密卡的性能; 3、本专利技术中DMA传输期间不占用DSP处理器处理能力,DSP可以用于控制密码芯片进行加解密;由于DMA传输的启动及中断响应占用的时间较少,因此DSP的绝大部分处理能力都可以用于控制密码芯片加解密,因此几乎可以忽略数据在主机与加密卡上的传输时间。 【附图说明】 图1为加解密数据流程示意图; 图2为本专利技术的多缓冲方式数据流程示意图; 图3为本专利技术数据加密卡的硬件原理示意图; 图4为主机调度工作流程示意图。 【具体实施方式】 下面结合实施例对专利技术作进一步的详细说明。 实施例1: 如图2-4所示,本例的专利技术的加解密方法为: 在主机侧和加密卡的处理器上开辟长度相同、数量相等的缓冲区; 待加解密数据按照主机侧的缓冲区长度分组,所述主机先将待加解密数据分组按照顺序依次存放在主机侧的缓冲区中;所述缓冲区的长度根据实际情况设定,本实施例中所述主机侧采用四个缓冲区,每个缓冲区等长。 将所述待加解密数据通过DMA成组数据传送方式发送到所述加密卡的处理器的缓冲区中,并标记该缓冲区为待处理。从所述加密卡处理器上取出一个缓冲区中的待加解密数据,将待加解密数据送到加密卡控制的加密芯片进行加解密处理,所述加密芯片处理完成后,所述处理器将加解密后的数据取回,保存在其处理器上的缓冲区中,并标记该缓冲区为已处理。 所述处理器将从其缓冲区将加解密后的数据发送给主机的缓冲区,发送完成后,将所述处理器的缓冲区为空,所述处理器通过中断方式通知主机数据已处理完,由主机从其缓冲区取走数据。 由于本实施例中主机侧有四个缓冲区,主机可以在每次取加解密后的数据时候检查所有的缓冲区有没有空,一旦有缓冲区为空,就添加新的待处理数据进入从主机侧缓冲区,直到所有的主机侧缓冲区都存有待处理数据,并通知数据加密卡上的处理器取数据。 所述处理器在取数据时,只要发现其缓冲区为空时,就通过DMA成组数据传送方式取走所述主机侧新的待加解密的数据添加到所述处理器空的缓冲区内,直到处理器上的缓冲区全满为止。 所述处理器为DSP芯片,所述DSP芯片通过其自带PCI接口主机通信。 所述DSP外接FLASH芯片和RAM随机存储器芯片,所述DSP通过CPLD控制公开密钥密码算法芯片、真随机数生成器等其他芯片。 本专利技术就利用DMA方式将主机缓冲区中的数据取来,因为在中断响应程序中增加了 DMA传输读入数据子程序,因此只要主机有需要新的数据,并且加密卡有空闲的缓冲区,则DSP可以优先将数据读入缓冲区,保证时刻有新的数据可以供密码芯片运算。 主机对数据加密卡的调度过程主要包含主机存储数据至主机缓冲区,加密卡从主机读取数据,加密卡控制密码芯片对数据进行处理,以及加密卡将处理后的数据返回给主机。主机的调度过程如图4所示: 主程序完成初始化后进入一个死循环程序,循环程序依次判断是否有数据需要读入缓冲区、是否有数据需要加密处理、缓冲区是否有数据需要写出本文档来自技高网
...

【技术保护点】
一种基于多缓冲方式的加密卡的加解密方法,其特征在于:所述方法包括以下步骤:(1)在主机侧和加密卡的处理器上开辟长度相同、数量相等的缓冲区;(2)将主机侧缓冲区的待加解密数据发送到加密卡处理器的缓冲区上;(3)将所述加密卡处理器的缓冲区上的待加解密数据进行加解密;(4)所述处理器将加解密后的数据发送到主机侧缓冲区内。

【技术特征摘要】
1.一种基于多缓冲方式的加密卡的加解密方法,其特征在于:所述方法包括以下步骤: (1)在主机侧和加密卡的处理器上开辟长度相同、数量相等的缓冲区; (2)将主机侧缓冲区的待加解密数据发送到加密卡处理器的缓冲区上; (3)将所述加密卡处理器的缓冲区上的待加解密数据进行加解密; (4)所述处理器将加解密后的数据发送到主机侧缓冲区内。2.如权利要求1所述的一种基于多缓冲方式的加密卡的加解密方法,其特征在于:所述步骤(2)中待加解密数据按照缓冲区长度分组,所述主机将待加解密数据按照顺序依次存放在主机侧缓冲区中;所述缓冲区的长度根据实际情况设定。3.如权利要求2所述的一种基于多缓冲方式的加密卡的加解密方法,其特征在于:将所述待加解密数据通过DMA成组数据传送方式发送到所述加密卡处理器的缓冲区中,并标记其缓冲区为待处理。4.如权利要求1所述的一种基于多缓冲方式的加密卡的加解密方法,其特征在于:取出所述步骤(3)中处理器缓冲区中的待加解密数据,将待加解密数据送到加密卡控制的加密芯片进行加解密处理,所述加密芯片处理完成后,所述处理器将加解密后的数据取回,...

【专利技术属性】
技术研发人员:曾荣张涛马媛媛林为民陈亚东费稼轩华烨邓松王玉斐时坚张波邵志鹏
申请(专利权)人:国家电网公司中国电力科学研究院国网四川省电力公司国网冀北电力有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1