CN1366245A - 分组加密芯片及其数据的高速加解密方法 - Google Patents

分组加密芯片及其数据的高速加解密方法 Download PDF

Info

Publication number
CN1366245A
CN1366245A CN 01107461 CN01107461A CN1366245A CN 1366245 A CN1366245 A CN 1366245A CN 01107461 CN01107461 CN 01107461 CN 01107461 A CN01107461 A CN 01107461A CN 1366245 A CN1366245 A CN 1366245A
Authority
CN
China
Prior art keywords
data
original text
chip
dual port
port ram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 01107461
Other languages
English (en)
Other versions
CN1220145C (zh
Inventor
陈刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nationz Technologies Inc
Original Assignee
ZHONGXING INTEGRATED CIRCUIT DESIGN CO Ltd SHENZHEN CITY
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZHONGXING INTEGRATED CIRCUIT DESIGN CO Ltd SHENZHEN CITY filed Critical ZHONGXING INTEGRATED CIRCUIT DESIGN CO Ltd SHENZHEN CITY
Priority to CN 01107461 priority Critical patent/CN1220145C/zh
Publication of CN1366245A publication Critical patent/CN1366245A/zh
Application granted granted Critical
Publication of CN1220145C publication Critical patent/CN1220145C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开一种分组加密芯片及其数据的高速加解密方法,分组加密芯片10包括:接口输入输出逻辑101、双口RAM102、内部数据输入输出逻辑103、加密算法模块104、接口控制模块105和内部寄存器组106:控制模块105分别与内部数据输入输出逻辑103、加密算法模块104、内部寄存器组106和DMA控制器11双向连接,信号在两个方向流动;控制模块105的信号输入端与接口输入输出逻辑101的信号输出端连接。所述加密芯片的工作和外部数据的打入可基本同时进行,可充分利用DMA burst读写方式数据流的高速性,提高芯片加解密数据的速度。

Description

分组加密芯片及其数据的高速加解密方法
本发明涉及计算机芯片技术,尤其涉及加密芯片的设计以及提高加密芯片数据交换速度的方法。
有两种常用的方法在具有分组加密算法芯片的设计中被广泛采用,一种是采用传统的接口设计方法,即通过8-32位的数据总线,和CPU进行数据交换(VMS113 data sheet revision 2.1,1999.5.2,VLSI Technology公司)(PCC101 product specification,Version 1.1,2000.5.20,Pijnenburg CustomChips),如果要提高数据流的处理速度,必须使用PIPELINE的方法。因为一个CPU的读写命令周期总要占用几个时钟周期的时间,这样就使得在分组加密算法芯片工作在PIPELINE方式时所规定的时钟周期内很难完成读出和写入一组数据的操作,从而使应用系统达不到芯片设计的最高速度,即使在设计中可以达到芯片的要求,也会将CPU的资源全部占用。另一种接口方法是将分组加密算法和PCI总线控制器作在一起(7751Encryption Processor data sheet,Hi/fn,Inc),这样在具有PCI总线的系统中加解密数据可以直接和加密算法部分进行数据交换,从而提高了数据处理的速度,但是这种做法必然使得应用系统的设计灵活性大大降低,芯片的成本也提高了很多。
本发明的目的在于避免现有技术的不足之处而提供一种简单实用的分组加密芯片及其数据的高速加解密方法。
本发明的目的可以通过采用如下的技术措施来实现,设计一种分组加密芯片,包括:
接口输入输出逻辑,用于连接PCI接口及其DMA控制器,完成数据总线与芯片之间的数据传递;
双口RAM,用于储存来自数据总线的原文数据以及经过加密运算的加密数据;
内部数据输入输出逻辑,用于从双口RAM中读出原文数据以及把加密后的密文数据写入双口RAM;
加密算法模块,用于对原文数据进行加密运算;
接口控制模块,用于完成对数据流的控制;
内部寄存器组,用于定义芯片的工作模式以及与DMA操作有关的参数,保存加密算法的有关参数,并以只读方式保存加密算法的秘钥;
双口RAM分别与接口输入输出逻辑和内部数据输入输出逻辑双向连接,控制模块分别与内部数据输入输出逻辑、加密算法模块、内部寄存器组和DMA控制器双向连接,内部数据输入输出逻辑与加密算法模块、内部寄存器组与CPU之间为双向连接,信号在两个方向流动;控制模块的信号输入端与接口输入输出逻辑的信号输出端连接。
利用上述的分组加密芯片,就能实现数据快速加解密,其方法包括如下步骤:
a.DMA控制器通过接口输入输出逻辑把原文数据分组按顺序写入芯片的双口RAM;
b.当第1组原文数据被写入双口RAM的地址[0:63]之后,接口输入输出逻辑发出信号给接口控制模块,由接口控制模块启动加密算法模块对第1组原文数据进行加密运算,在加密运算的同时,不停止原文数据继续写入双口RAM的过程;
c.当第1组原文数据的加密运算完成后,密文数据通过内部数据输入输出逻辑写入双口RAM的地址[0:63],覆盖原来的第1组原文数据,并立即启动第2组原文数据的加密运算;
d.由于加密一组数据所用的时钟周期总是大于原文数据写入双口RAM的周期,当完成一组原文数据加密后,接口控制模块立即启动加密算法模块对下一组原文数据进行加密运算,加密运算完成后,密文数据通过内部数据输入输出逻辑写入双口RAM的对应地址,覆盖刚被加密的该组原文数据;
e.当所有的原文数据都写入双口RAM后,虽然原文数据的加密运算仍在进行,接口控制模块经过计算将在所有原文数据加密完成之前启动DMA控制器,DMA控制器通过接口输入输出逻辑从双口RAM开始按顺序读出所需的密文数据。
附图的图面说明如下:
图1是本发明分组加密芯片的系统原理方框图;
图2是在本发明的分组加密芯片实现数据快速加解密的系统操作时序图。
下面结合附图和实施例对本发明作进一步的详细说明。
针对32位PCI总线接口13,本发明的分组加密芯片10包括:
接口输入输出逻辑101,用于连接PCI接口13及其DMA控制器11,完成数据总线与芯片10之间的数据传递;该接口输入输出逻辑101包含一个计数器,外部每输入一组数据(输入2个32位数据),计数器加1;在以DMAburst方式输入数据时,接口控制模块105通过判断这个计数器的值来启动加密算法模块104,在用户不用DMA burst方式输入数据时,用计数器的值来判断用户输入了几组有效数据。
双口RAM102,用于储存来自数据总线的原文数据以及经过加密运算的加密数据;
内部数据输入输出逻辑103,用于从双口RAM102中读出原文数据以及把加密后的密文数据写入双口RAM102;
加密算法模块104,用于对原文数据进行加密运算的硬件实现;
接口控制模块105,用于完成对数据流的控制;
内部寄存器组106,用于定义芯片10的工作模式以及与DMA操作有关的参数,如burst读写的数据长度等,并以只读方式保存加密算法的秘钥;
双口RAM102分别与接口输入输出逻辑101和内部数据输入输出逻辑103双向连接,控制模块105分别与内部数据输入输出逻辑103、加密算法模块104、内部寄存器组106和DMA控制器11双向连接,内部数据输入输出逻辑103与加密算法模块104、内部寄存器组106与CPU12之间为双向连接,信号在两个方向流动;控制模块105的信号输入端与接口输入输出逻辑101的信号输出端连接,如图1所示。
下面以将加密芯片用于插在PCI总线的插槽上的综合加密板卡1为例对加密芯片10的工作方式进行说明,插板总系统结构图如同图1。这里芯片的IO接口设计为32位数据总线,6位地址总线,最高位为1时对内部寄存器组(106)进行寻址,最高位为0时,对双口RAM(102)进行寻址。双口RAM102设计成速度可以达到DMA控制burst读写所要求的响应速度。设定加密芯片一次处理的数据为64bits,芯片中双口RAM102的空间为32×32=1024bits,可以一次保存16组64bits数据,加密芯片加密一组数据需要16个时钟周期,并且要有一个时钟周期将结果打入内部的双口RAM102中。系统中包含一个32位PCI接口13,这个部分处理和上级系统的PCI总线接口信号,DMA控制器11是和PCI接口13紧密结合的,这部分负责PCI总线上和加密芯片10的数据交换,它通过数据和地址线和加密芯片10的接口输入输出逻辑101连接,控制信号和加密芯片10的接口控制模块105进行交互,以完成数据流的控制。CPU12负责协调加密板卡1上的器件,控制加密板卡1的动作。
上级系统通过PCI总线配置板卡1的本芯片工作模式和写入加密密码等参数,并首先通知板卡1上的CPU12,配置板卡1的PCI和DMA的参数,然后由CPU12将配置和密码等参数写入芯片的内部寄存器组106。将芯片10配置好之后,板级的CPU通知上级系统,可以通过PCI总线直接和加密芯片10进行数据交互。
当外部DMA控制器11以burst读写方式和加密芯片进行数据交互时的工作流程如图2所示。图中的Block[m]表示第m组原文数据(64bits),Block[m][a:b]表示第m组原文数据的第a位到第b位,P(Block[m])表示对第m组原文数据进行加密处理,E(Block[m])表示加密第m组原文数据后得到的密文(64bits),E(Block[m])[a:b]表示加密第m组原文数据后得到的密文的第a位到第b位。现对系统的操作流程作如下说明:
在DMA写入芯片10的双口RAM102中一个完整的分组原文数据之后,芯片10的接口输入输出逻辑101发出信号给接口控制模块105,在下一个时钟周期20,接口控制模块105启动加密算法模块104对第一个分组数据进行加密,当第一组数据加密结束后,将得出的密文数据通过内部数据输入输出逻辑103写入双口RAM102中(时钟周期21),覆盖原来的第一个原文分组数据。然后再从双口RAM102中读出下一组原文分组数据,对其进行加密。因为在DMA进行burst读写时,加密一组数据需要的时钟周期总是大于数据写入的周期,所以在16组数据写入完成时(时钟周期22),芯片10仍然在继续进行加密工作。而这时,板级系统的CPU相对处于空闲状态,等待加密处理结束的信号。当时钟周期为n+4时(时钟周期23),虽然数据加密还没有完成,但是芯片10经过计算,认为在这个时候已经可以启动系统进行读操作,当加密芯片处理完最后一组数据并将结果密文写入双口RAM的地址[960:1023]时(周期n+34),加密过程结束(时钟周期24)。再延时一个时钟周期(周期n+35),DMA控制器11从双口RAM102的地址[960:991]读出数据E(Block[15])[63:32],在下一个时钟周期,DMA控制器11从双口RAM102地址[992:1023]读出最后一组结果数据E(Block[15])[31:0],DMA读操作完成(时钟周期25)。
由于加密芯片的工作和外部数据的打入可以基本同时进行,所以,本系统可以充分利用DMA burst读写方式的数据流的高速性,使系统真正可实现高速的加解密数据流。
上述过程可以被归纳成为如下的分组加密芯片实现数据快速加解密的方法:
a.DMA控制器11通过接口输入输出逻辑101把原文数据分组按顺序写入芯片10的双口RAM102;
b.当第1组原文数据被写入双口RAM102的地址[0:63]之后,接口输入输出逻辑101发出信号给接口控制模块105,由接口控制模块105启动加密算法模块104对第1组原文数据进行加密运算,在加密运算的同时,不停止原文数据继续写入双口RAM102的过程;
c.当第1组原文数据的加密运算完成后,密文数据通过内部数据输入输出逻辑103写入双口RAM102的地址[0:63],覆盖原来的第1组原文数据,并立即启动第2组原文数据的加密运算;
d.由于加密一组数据所用的时钟周期总是大于原文数据写入双口RAM102的周期,当完成一组原文数据加密后,接口控制模块105立即启动加密算法模块104对下一组原文数据进行加密运算,加密运算完成后,密文数据通过内部数据输入输出逻辑103写入双口RAM102的对应地址,覆盖刚被加密的该组原文数据;
e.当所有的原文数据都写入双口RAM102后,虽然原文数据的加密运算仍在进行,接口控制模块105经过计算将在所有原文数据加密完成之前启动DMA控制器11,DMA控制器11通过接口输入输出逻辑101从双口RAM102开始按顺序读出所需的密文数据。
与现有计算机芯片技术相比较,本发明的分组加密芯片及其数据的高速加解密方法具有以下优点:在少量增加芯片成本的情况下,可使芯片的加密数据流运行在很高的速度;而且在系统运行中可以不占用加密芯片所在板级CPU的资源。

Claims (6)

1、一种分组加密芯片(10),包括:
接口输入输出逻辑(101),用于连接PCI接口(13)及其DMA控制器(11),完成数据总线与芯片(10)之间的数据传递;
双口RAM(102),用于储存来自数据总线的原文数据以及经过加密运算的加密数据;
内部数据输入输出逻辑(103),用于从双口RAM(102)中读出原文数据以及把加密后的密文数据写入双口RAM(102);
加密算法模块(104),用于对原文数据进行加密运算;
接口控制模块(105),用于完成对数据流的控制;
内部寄存器组(106),用于定义芯片(10)的工作模式以及与DMA操作有关的参数,保存加密算法的有关参数,并以只读方式保存加密算法的秘钥;
其特征在于:
双口RAM(102)分别与接口输入输出逻辑(101)和内部数据输入输出逻辑(103)双向连接,控制模块(105)分别与内部数据输入输出逻辑(103)、加密算法模块(104)、内部寄存器组(106)和DMA控制器(11)双向连接,内部数据输入输出逻辑(103)与加密算法模块(104)、内部寄存器组(106)与CPU(12)之间为双向连接,信号在两个方向流动;控制模块(105)的信号输入端与接口输入输出逻辑(101)的信号输出端连接。
2、根据权利要求1所述的分组加密芯片(10),其特征在于,所述接口输入输出逻辑(101)包含一个计数器,在以DMA burst方式输入数据时,接口控制模块(105)通过判断这个计数器的值来启动加密算法模块(104),在以非DMA burst方式输入数据时,用计数器的值来判断用户输入了几组有效数据。
3、根据权利要求1所述的分组加密芯片(10),其特征在于,所述双口RAM(102)的空间为1024 bits。
4、根据权利要求1所述的分组加密芯片(10),其特征在于该芯片(10)的IO接口设计为32位数据总线和6位地址总线;最高位为1时对内部寄存器组(106)进行寻址,最高位为0时,对双口RAM(102)进行寻址。
5、一种分组加密芯片实现数据快速加解密的方法,其特征在于该方法包括如下步骤:
a.DMA控制器(11)通过接口输入输出逻辑(101)把原文数据分组按顺序写入芯片(10)的双口RAM(102);
b.当第1组原文数据被写入双口RAM(102)的地址[0:63]之后,接口输入输出逻辑(101)发出信号给接口控制模块(105),由接口控制模块(105)启动加密算法模块(104)对第1组原文数据进行加密运算,在加密运算的同时,不停止原文数据继续写入双口RAM(102)的过程;
c.当第1组原文数据的加密运算完成后,密文数据通过内部数据输入输出逻辑(103)写入双口RAM(102)的地址[0:63],覆盖原来的第1组原文数据,并立即启动第2组原文数据的加密运算;
d.由于加密一组数据所用的时钟周期总是大于原文数据写入双口RAM(102)的周期,当完成一组原文数据加密后,接口控制模块(105)立即启动加密算法模块(104)对下一组原文数据进行加密运算,加密运算完成后,密文数据通过内部数据输入输出逻辑(103)写入双口RAM(102)的对应地址,覆盖刚被加密的该组原文数据;
e.当所有的原文数据都写入双口RAM(102)后,虽然原文数据的加密运算仍在进行,接口控制模块(105)经过计算将在所有原文数据加密完成之前启动DMA控制器(11),DMA控制器(11)通过接口输入输出逻辑(101)从双口RAM(102)开始按顺序读出所需的密文数据。
6、根据权利要求5所述的分组加密芯片实现数据快速加解密的方法,其特征在于:所述外部DMA控制器(11)以DMA burst方式与加密芯片(10)进行数据交换。
CN 01107461 2001-01-18 2001-01-18 分组加密芯片及其数据的高速加解密方法 Expired - Fee Related CN1220145C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 01107461 CN1220145C (zh) 2001-01-18 2001-01-18 分组加密芯片及其数据的高速加解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 01107461 CN1220145C (zh) 2001-01-18 2001-01-18 分组加密芯片及其数据的高速加解密方法

Publications (2)

Publication Number Publication Date
CN1366245A true CN1366245A (zh) 2002-08-28
CN1220145C CN1220145C (zh) 2005-09-21

Family

ID=4656389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 01107461 Expired - Fee Related CN1220145C (zh) 2001-01-18 2001-01-18 分组加密芯片及其数据的高速加解密方法

Country Status (1)

Country Link
CN (1) CN1220145C (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101174903B (zh) * 2007-10-30 2011-07-13 中兴通讯股份有限公司 基于双cpu的掺铒光纤放大器控制装置和系统
CN103777918A (zh) * 2012-10-18 2014-05-07 苏州简约纳电子有限公司 一种硬件加速器
CN106548099A (zh) * 2016-09-28 2017-03-29 深圳市华曦达科技股份有限公司 一种电路系统安全保护的芯片
CN107070637A (zh) * 2017-01-13 2017-08-18 广东技术师范学院天河学院 一种交叠分组的数据加解密方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101174903B (zh) * 2007-10-30 2011-07-13 中兴通讯股份有限公司 基于双cpu的掺铒光纤放大器控制装置和系统
CN103777918A (zh) * 2012-10-18 2014-05-07 苏州简约纳电子有限公司 一种硬件加速器
CN103777918B (zh) * 2012-10-18 2018-06-26 苏州简约纳电子有限公司 一种硬件加速器
CN106548099A (zh) * 2016-09-28 2017-03-29 深圳市华曦达科技股份有限公司 一种电路系统安全保护的芯片
CN107070637A (zh) * 2017-01-13 2017-08-18 广东技术师范学院天河学院 一种交叠分组的数据加解密方法

Also Published As

Publication number Publication date
CN1220145C (zh) 2005-09-21

Similar Documents

Publication Publication Date Title
US5513262A (en) Device for enciphering and deciphering, by means of the DES algorithm, data to be written to be read from a hard disk
US20030126451A1 (en) Data processing
US20030084309A1 (en) Stream processor with cryptographic co-processor
CN102724035B (zh) 一种加密卡的加解密方法
US9419972B2 (en) Two dimensional direct memory access scheme for enhanced network protocol processing performance
EP3803672B1 (en) Memory-efficient hardware cryptographic engine
CN1882896A (zh) 用于在计算机系统内为sim设备提供受信通道的方法和装置
CN1306748C (zh) 改进短操作的des硬件吞吐量
US20100128874A1 (en) Encryption / decryption in parallelized data storage using media associated keys
CN104182696A (zh) 一种基于Avalon接口的AES算法IP核的设计方法
US20070180228A1 (en) Dynamic loading of hardware security modules
CN1220145C (zh) 分组加密芯片及其数据的高速加解密方法
CN112948840A (zh) 一种访问控制设备和包含该设备的处理器
CN1286286C (zh) 一种实现保密通信的方法及其加密设备
CN108874702A (zh) 基于axi总线的多路对称加解密ip核并行处理装置和方法
KR101923210B1 (ko) 이종 멀티코어 프로세서를 활용한 암호화 처리 장치 및 암호화 처리 방법
TWI249676B (en) Method and system for initiating an event in a first device by a host
CN116070292B (zh) 一种基于fpga的sm4加密异构加速系统
CN101482909B (zh) 加密算法模块加速器及其数据高速加解密方法
US20030226008A1 (en) Method and system for allowing for the secure transmission and reception of data in a processing system
US12010209B2 (en) Memory-efficient hardware cryptographic engine
US20240004801A1 (en) Data encryption suitable for use in systems with processing-in-memory
US11689361B1 (en) Distributed key expansion
CN2838153Y (zh) 一种用于公钥密码运算加速的体系结构
KR100356013B1 (ko) 암호처리를 위한 범용 프로세서와 암호처리 코프로세서의접속장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: GUOMING TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: ZHONGXING INTEGRATED CIRCUIT DESIGN CO. LTD., SHENZHEN CITY

CP03 Change of name, title or address

Address after: Floor nine, technology innovation service center, 1 Qilin Road, Guangdong, Shenzhen Province, China: 518058:

Patentee after: NATIONZ TECHNOLOGIES Inc.

Address before: Floor nine, technology innovation service center, 1 Qilin Road, Guangdong, Shenzhen Province, China: 518058:

Patentee before: Nationz Technologies Inc.

Address after: 518058, three, 2 Software Park, hi tech Zone, Shenzhen hi tech Zone, Guangdong, Nanshan District Province, three, three

Patentee after: Nationz Technologies Inc.

Address before: Floor nine, technology innovation service center, 1 Qilin Road, Guangdong, Shenzhen Province, China: 518058:

Patentee before: Nationz Technologies Inc.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050921

Termination date: 20150118

EXPY Termination of patent right or utility model