CN1306748C - 改进短操作的des硬件吞吐量 - Google Patents

改进短操作的des硬件吞吐量 Download PDF

Info

Publication number
CN1306748C
CN1306748C CNB018088597A CN01808859A CN1306748C CN 1306748 C CN1306748 C CN 1306748C CN B018088597 A CNB018088597 A CN B018088597A CN 01808859 A CN01808859 A CN 01808859A CN 1306748 C CN1306748 C CN 1306748C
Authority
CN
China
Prior art keywords
grouping
des
parameter
encryption standard
data encryption
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.)
Expired - Lifetime
Application number
CNB018088597A
Other languages
English (en)
Other versions
CN1502185A (zh
Inventor
M·林德曼
S·W·史密斯
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1502185A publication Critical patent/CN1502185A/zh
Application granted granted Critical
Publication of CN1306748C publication Critical patent/CN1306748C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Optical Communication System (AREA)
  • Pressure Welding/Diffusion-Bonding (AREA)
  • Vehicle Body Suspensions (AREA)
  • Amplifiers (AREA)
  • Bipolar Transistors (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Abstract

为短操作提供对称密钥密码方法。该方法包含批量处理多个操作参数(1503),和根据对应的操作参数执行操作(1505)。该对称密钥密码方法是数据加密标准(DES)方法。短操作可以小于大约80个字节。短操作可以介于8至80个字节之间。该方法包含从动态随机访问存储器读取批量处理的参数(1504),和根据操作参数发送每个操作通过DES引擎(1505)。

Description

改进短操作的DES硬件吞吐量
本申请是要求2000年5月1日申请的临时申请60/201,002的优先权的非临时专利申请。
技术领域
本发明涉及密码支持(cryptographic support),更具体的是涉及短操作的密码支持。
背景技术
数据加密标准(Data Encryption Standard,DES)是广泛使用的、利用私有密钥进行数据加密的方法。在使用DES的情况下,存在72×1015或更多个可被用于保护电子网络上参与者之间传送的分组的加密密钥。用于各个分组或消息,随机选择密钥。类似于其它对称密钥密码方法,发送方和接收方均需要知道和使用相同的私有密钥。
DES对每个64位数据块使用56位密钥。该处理过程可以运行若干个模式并且包含16个操作循环。尽管公认DES是很强的加密方法,但许多公司仍然使用三重DES(triple-DES,TDES),该TDES对各个分组顺序使用三个密钥。
DES由IBM在1977年提出并且被美国国防部采用。在ANSI X3.92和X3.106标准以及联邦信息处理标准(FIPS)46和81中均对其进行了规定。
密码方法通常面向较大的分组(大于大约80个字节)。然而当DES系统被用于较小分组时,性能会下降一个数量级。
因此需要一种对DES操作提供密码支持并且这种密码支持对长(>80字节)分组和短分组均具有高吞吐量的系统和方法。
发明内容
根据本发明的实施例,为短操作提供对称密钥密码方法。该方法包含批量处理(batch)多个操作参数,和根据对应操作参数执行操作。对称密钥密码方法是数据加密标准(DES)方法。短操作可以小于大约80个字节。短操作可以介于8至80个字节之间。
访方法包含将多个操作参数和多个DES操作批量处理成一个单独的请求,针对请求中的各个操作调用DES,并且根据对应的操作参数分别针对各个操作执行DES。
该方法还包含将多个操作参数和多个DES操作批量处理成一个单独请求,针对批量操作调用DES,并且根据对应的操作参数分别针对每个操作执行DES。每个请求被以芯片复位,密钥和初始化向量被执行。针对批量操作调用DES还包括切换批量操作的上下文。在应用层和系统软件层之间进行上下文切换。
该方法包含从动态随机访问存储器读取批量参数,和根据操作参数通过DES引擎发送每个操作。
根据本发明的实施例,提供改进DES短操作吞吐量的方法。该方法包含批量处理多个操作参数,将批量操作参数读取到动态随机访问存储器中,和根据操作参数发送各个操作通过DES引擎,其中每个操作参数均对应一个操作。DES是外到外的(external to external),并且分别发送每个操作的输出。短操作可以小于大约80个字节。短操作可以介于8至80个字节之间。
根据本发明的实施例,为长度介于大约8到80个字节之间的操作提供对称密钥密码方法。该方法包含为引擎提供密钥索引,和成批通过引擎输送操作,其中中央处理单元不处理各个字节。所述引擎是DES引擎。
该方法包含为操作复位引擎芯片,读取初始化向量,和向引擎芯片载入初始化向量。该方法还包含根据密钥索引确定密钥,向引擎芯片载入密钥,和读取操作的数据长度。
该方法包含通过输入通道向引擎芯片发送数据长度,和通过输出通道发送数据长度。该通道是FIFO通道。
附图说明
下面参照附图更详细地描述本发明的优选实施例,其中:
图1是示出基于本发明一个实施例的DES体系结构的图示;
图2是示出基于本发明一个实施例的DES体系结构的另一个图示;
图3是示出基于本发明一个实施例的DES体系结构的再另一个图示;
图4是示出了基于本发明一个实施例的DES体系结构的还另一个图示;
图5是根据本发明的一个实施例示出支持具有协处理器的DES/TDES的FIFO结构的图示;
图6是根据本发明的一个实施例示出支持具有协处理器的DES/TDES的FIFO结构的另一个图示;
图7是根据本发明的一个实施例示出支持具有协处理器的DES/TDES的FIFO结构的再另一个图示;
图8是根据本发明的一个实施例示出支持具有协处理器的DES/TDES的FIFO结构的还另一个图示;
图9是根据本发明的一个实施例示出支持具有协处理器的DES/TDES的FIFO结构的另一个图示;
图10是根据本发明的一个实施例示出支持具有协处理器的DES/TDES的FIFO结构的一个图示;
图11是根据现有技术将两个操作处理成单独的sccRequest(scc请求)的应用程序的流程图;
图12是图解基于本发明一个实施例的批量主机-卡交互的流程图;
图13是根据本发明的一个实施例被批量处理到一个单独调用的多个操作的流程图;
图14是根据本发明一个实施例减少每个操作的数据传送量的方法的流程图;
图15是根据本发明一个实施例将所有操作的参数批量处理到一个块的方法的流程图;以及
图16是图解本发明各种实施例的DES速度的图表。
具体实施方式
本发明提供了一种用于密码支持的系统和方法,该密码支持对长DES操作和短DES操作均具有高吞吐量。根据本发明的实施例,该系统包含被封装在外围部件互连(PCI)卡中的多芯片嵌入模块。除用于窜改检测和响应的密码硬件和电路之外,还提供了通用计算环境,包括中央处理单元,以及存储在ROM和/或闪速存储器中的执行软件。
参照图1,其中示出了客户机101和主机105的多层软件体系结构。客户端包含层次0和1中的基本安全控制102,层次2中的超级用户级软件系统103和层次3中的用户级软件应用程序104。层次2的103支持应用程序开发。在层次2的103内,内核提供对多个进程和地址空间的操作系统抽象;这些抽象支持独立的管理器并且为层次3应用程序104提供更高级的应用程序接口(API),其中独立管理器管理底层的密码硬件和其它输入/输出(I/O)。API是计算机或其它程序规定的具体方法,编写应用程序的程序员通过API可以请求操作系统或其它应用程序。通常情况下,层次3应用程序104反过来向主机端应用程序107提供有关其自身的API的抽象。
主机端105包含设备驱动程序106和主机应用程序107。根据图2,为了使层次3应用程序104使用卡端应用程序提供的服务,主机端应用程序107向主机端设备驱动程序106发出调用。设备驱动程序105为设备上的层次2系统103打开sccRequest 108。层次2的103向设备上驻留的层次3应用程序104通知存在该请求,以及主机随同该请求一起发送的参数。
根据图3和4,层次3应用程序104处理主机应用程序的服务请求,例如可以指示层次2的103向设备驱动程序106传送数据109并且执行所需的密码操作。层次3应用程序104关闭sccRequest 110并且向主机应用程序107发送输出返回111。
根据本发明的实施例,提供了用于快速密码的设备。该设备包含协处理器,该协处理器具有中央处理单元(CPU),至少两个层次的内部软件和至少三个数据路径。软件层次可以包含操作系统或内核层以及应用程序层。数据路径可以包含外部到内部存储器和/或CPU的路径,内部存储器和/或CPU到对称引擎的路径,和外部系统与对称引擎之间的通道。该通道可以是先入先出(FIFO)通道。根据本发明的一个实施例,该设备包含FIFO状态机。FIFO状态机结构传送或驱动数据进出方法引擎。
应当注意,虽然这里针对对称密码函数(例如DES)描述了本发明,然而本发明也适用于任何关于变长数据的参数化函数。因此,虽然这里以DES作为本发明实施方式的例子,然而在本发明的指导下,本领域的普通技术人员能够据此得出本发明的这些和类似的实现或配置。
参照图5,FIFO结构与DES/TDES引擎500工作。虽然根据具体为002/023型PCI加密协处理器的IBM 4758协处理器描述了本发明,然而在本发明的指导下,本领域的普通技术人员能够据此得出这些和类似的实现或配置。
在2型(Model 2)硬件中,FIFO结构也支持快速安全散列算法1(Secure Hash Algorithm,SHA-1);尽管该结构可以适用于任何方法引擎。
对于输入和输出,分别为外部和内部传送提供两对FIFO 501-504,即PCI FIFO对501-502和内部FIFO对503-504,以及用于在没有CPU介入的情况下进出内部动态随机访问存储器(DRAM)507的传送的直接存储器访问(DMA)控制器505-506。
内部CPU 508通过控制寄存器(未示出)选择要激活的数据路径和DES引擎500可以使用的密钥、初始化向量(IV)和其它操作参数。通过通常被包含在层次2系统中的随机数发生器产生IV,并且IV与明文和密钥合并。该密钥是被应用于明文块以产生密文的变量值。
DES引擎500的构成包含大块外到外DES(bulk external-to-externalDES,图8中示出),大块内到内DES(bulk internal-to-internal DES,输出DMA 506到内部输入FIFO 503到DES 500,接着回到内部输出FIFO504和PCI输出FIFO 502),和DMA传送(例如PCI输入FIFO 501到内部输入FIFO 503到输入DMA 505,和从输出DMA控制器506到内部输出FIFO 504及到PCI输出FIFO 502)。此外,DES硬件可以被配置成旁路模式,在该模式中商用层次2系统不使用该硬件。
对系统的一个约束是:或者两个内部FIFO-DES路径均要选择(大块模式),或者均不被选择。另一个约束是:在数据传送暂停之前不能改变FIFO配置,并且驱动FIFO的状态机将异步传送数据并直到资源耗尽。
内部CPU 508可以按照各种方式配置FIFO硬件以支持卡应用程序。例如,图6描述了一种配置,其中FIFO通过DMA向卡传入数据,例如在主机应用程序向卡应用程序打开sccRequest时。数据通过601从PCI输入FIFO 501传递到内部输入FIFO 503,通过602到达输入DMA控制器505,并且通过603和604到达DRAM 507。
参照描述DES请求的图7,卡可以从DRAM 507向DES芯片500传入操作参数。内部CPU 508通过线路701-703从DRAM 507向DES芯片500载入操作参数。
根据图8,如果DES请求是针对外到外DES,卡会将FIFO配置成从主机传入数据,通过DES芯片500并且回到主机。CPU 508可以将FIFO501-504配置成通过线路801-804从主机输送数据,通过DES芯片并且回到主机。
另外,如果DES请求是针对内到内DES并且确定该请求对于DMA而言太短,卡可以人工地将数据字节送出。CPU 508可以通过编程I/O和线路901-904将来自DRAM 507的数据驱动通过DES/TDES引擎。
如图10所述,当sccRequest完成时,卡可以通过DMA向主机回送结果。内部CPU 508可以将FIFO配置成通过DMA和线路1001-1004将来自DRAM 507的数据回送到主机。
本发明提出了提高短DES操作的吞吐量的方法。评估本发明的方法包括了:数据长度以随机方式均匀分布在8至80个字节之间的DES操作,所述DES操作包含密码块链接(cipher block chaining,CBC)加密和CBC解密。链接是一种根据所有前面的块对密文块进行解密的方法。每个操作IV和密钥均发生改变;使用设备内部存储的主密钥对密钥进行三重DES(TDES)加密。对于每个操作送入加密密钥、IV和其它操作参数,但不将其计入数据吞吐量。尽管对每个操作密钥会发生改变,但密钥总数相对于请求数量而言是小的。参照图16,其中针对本发明的各种实施例示出了DES操作所获得的速度。使用1型硬件达到如1601所示的速度。
使用针对以下实施例的2型原型建立基准线实现。根据图11,主机应用程序通过编程输入/输出(PIO)DES将每个操作1101-1102作为单独的sccRequest 1103-1104处理。该实现包含产生短DES请求的序列(加密密钥,IV,数据)的主机应用程序和卡端应用程序。卡端应用程序捕捉每个请求,拆解出密钥,向DES引擎发送数据、密钥和IV,并且将结果回送到主机。在一组加密密钥中随机选择密钥。在卡内缓存密钥减少了额外的TDES密钥解密步骤并且提高了速度1602。
根据本发明的实施例,通过减少主机-卡交互可以增强短DES性能。参照图12,这包含将较大的短DES请求序列批量处理成一个sccRequest1201。相应修改卡端应用程序以便在一个步骤中接收该序列,处理每个操作1202-1205,并且在一个步骤1206中将并置输出回送到主机。层次3应用程序针对每个操作1202和1204调用DES。层次2分别针对每个操作1203和1205执行DES。在使用上述评效数据的情况下得到的速度介于大约18到23千字节/秒之间,并且在使用密钥捕捉1603的情况下高达40千字节/秒。
根据本发明的一个实施例,通过消除每个操作的DES芯片复位可以提高短DES性能1604。通过产生均使用一个密钥、一个方向(解密或加密)和零IV(尽管IV可以是任意值)的短DES操作请求的序列,可以达到大约360千字节/秒的速度。卡端应用程序接收操作序列并且向层次2系统发送该操作序列。在层次2中,经过修改的DES管理器(控制DES硬件的组件)使用密钥和零IV设置芯片,并且通过芯片发送数据。每个操作的结束,DES管理器执行“异或”(XOR)以中断链接。例如,对于加密,软件人工地对前一操作的最后一个密文块和该操作的第一明文块进行XOR操作以抵偿芯片将执行的XOR。
根据批量处理方法,除减少芯片复位数量之外,层次3和层次2之间的上下文切换数的量也从O(n)减少到O(1),其中n是批量处理中的操作数的量。参照图13,根据本发明的另一个实施例,通过使用多密钥(malti-key)、非零IV设置(结果如1603所示),改变卡端应用程序1302以便向被修改的DES管理器(层次2)1303-1304发送批量处理的请求1301,从而减少上下文切换数量。卡端应用程序1302针对批量处理的操作调用DES。被修改的DES管理器1303-1304以芯片复位和新密钥及IV处理各个请求。该请求被发送到主机1305。使用被修改的DES管理器1303-1304得到的结果如图16中1604所示。
根据本发明的再另一个实施例,FIFO状态机以大块(bulk)模式输送数据字节通过DES。这样,CPU不处理数据字节。根据前面的方法,加密密钥、IV和数据的每个字节被处理许多次。字节通过FIFO和DMA进入以初始sccRequest缓冲区传送进入到DRAM中。CPU从DRAM取出字节并且将其送入DES芯片。CPU从DES芯片取出数据并且将其回送到DRAM。CPU通过FIFO将数据回送到主机。因此,通过减少数据传送的数量可以提高吞吐量1605。密钥拆解被消除成API的内置部分。每个应用程序可以具有一个唯一的拆解方法,从而使API拆解成为冗余。在每个应用程序内,初始化步骤的结果是驻留在设备DRAM中的明文密钥表。操作长度被标准化为40个字节。另外,修改主机应用程序以产生将索引包含在内部密钥表中的请求序列,而不是加密密钥。于是,卡端应用程序1401调用修改的DES管理器1402和1407,并且使密钥表1403和1408可被其使用,而不是立即将来自PCI输入FIFO的请求序列送入DRAM。对于每个操作,修改的DES管理器1402和1407使DES芯片复位;读取IV并将其载入芯片;读取密钥表并对其进行完整性检查(sanity check),查找密钥,并将其载入芯片;读取操作的数据长度。修改的DES管理器设置状态机来通过输入FIFO将该数量的字节发送进入DES芯片并且接着返出输出FIFO 1404-1406和1409-1411。卡端应用程序关闭请求1412。结果如图16中1605所示。
根据本发明的实施例,提高(两倍)了工业标准结构(ISA)I/O指令的数量,使吞吐量减半,这表明了ISA I/O指令和吞吐速度之间的相关性。上述修改的DES管理器(参见1605和图14)接着被修改以便可用时使用存储器映射I/O端口代替ISA I/O(所使用的硬件不总提供存储器映射I/O端口)。软件也被修改来消除由某些间歇进行轮询的状态机引起的任何虚假FIFO读取。结果如图16中1606所示。
参照图15,通过将参数批量处理在一起,可以通过存储器映射操作读取参数,从而允许修改FIFO配置和数据的处理。层次3针对批量处理的操作1501调用DES。主机应用程序将每操作的参数批量处理到一个附加到输入数据的组1503中。修改的DES管理器设置内部FIFO和状态机以便读取批量处理的参数,从而绕过DES芯片1502;通过存储器映射I/O将批量处理的参数从内部输出FIFO读取到DRAM 1504和1508中;重新配置FIFO;以及使用缓冲的参数,设置状态机和DES芯片以便将来自输入FIFO的每个操作的数据1506和1510发送通过DES,然后返出输出FIFO 1505,1507和1509和1511。层次3关闭请求1512。结果如图16中1607所示。如1608所示,通过ISA方法访问IV和数据长度寄存器可以提高方法的准确性。
根据本发明,根据以下关系可以确定短DES速度:
C 1 · Batches + C 2 · Batches · Ops + C 3 · Batches · Ops · DataLen Batches · Ops · DataLen
其中Batches是主机-卡批量处理的数量,Ops是单位批量处理中的操作数量,DataLen是单位操作的平均数据长度,C1、C2和C3分别代表单位批量处理、单位操作和单位字节的开销。
本发明通过修改主机设备驱动程序-层次2的交互以允许不确定的sccRequest来消除单位批量处理的开销C1,同时加入的轮询或信号传输指示何时可以传送额外数据。通过使单位操作参数传送的数量最小化可以减少单位操作开销C2。例如,主机应用程序可以在一批操作中,将表明自变量,例如下面N个操作都使用一个特定密钥的参数块交错。该方法避免针对每个迭代传入和读取密钥索引。另一个例子可以包含在向卡发送数据之前或之后处理IV的主机应用程序。如果主机应用程序是可信地提供IV,这不是安全问题。该方法避免传入IV,并且由于DES芯片在复位之后具有缺省的零IV,所以避免了载入IV。
根据本发明的另一个实施例,通过重新设计FIFO和状态机可以减少单位操作开销。通过修改DES引擎以便使数据输入包含与数据交错的参数,则单位操作开销C2可以接近单位字节开销C3。状态机处理的输出字节少于输入字节,并且CPU控制引擎操作的种类(class),其中允许诸如从外部选择的参数在这些种类上变化。例如可以允许外部实体只选择某些类型的加密操作。进一步CPU可以在外部实体选择的参数和引擎所见的参数上插入间接性,例如外部实体提供针对内部表的索引。
前面描述了密码系统和方法的实施例,应当注意,本领域技术人员根据上述指导可以进行修改和变化。所以可以理解,在公开的本发明的具体实施例中可以进行各种落在所附权利要求定义的本发明范围和宗旨内的改变。前面遵照专利法的规定描述了本发明,在所附权利要求书中写明了要求专利保护的范围。

Claims (16)

1.一种用于处理操作的对称密钥密码方法,包括:
通过存储器映射操作,读取多个批量操作参数,所述批量操作参数对应于多个密码操作分组,每个操作分组小于80个字节,其中,批量操作参数和对应操作分组被批量处理到一个单独的请求中;以及
读取对每个密码操作的对应操作参数,并且使用对应的操作参数以执行多个密码操作中的对应每个操作。
2.如权利要求1所述的方法,其特征在于该对称密钥密码方法是数据加密标准方法。
3.如权利要求1所述的方法,其特征在于该操作分组长度在8至80个字节之间。
4.如权利要求1所述的方法,其特征在于还包括:
将多个操作参数和多个数据加密标准操作分组批量处理成一个单独请求;
为请求中的操作调用数据加密标准;以及
根据对应操作参数分别为每个操作分组执行数据加密标准。
5.如权利要求4所述的方法,其特征在于所述调用数据加密标准的步骤进一步包括:
为批量处理的每个操作分组调用数据加密标准。
6.如权利要求5所述的方法,其特征在于以芯片复位和密钥和初始化向量执行每个请求。
7.如权利要求5所述的方法,其特征在于为批量处理的操作分组调用数据加密标准的步骤还包括为批量处理的操作分组切换上下文。
8.如权利要求7所述的方法,其特征在于在应用层和系统软件层之间进行上下文切换。
9.如权利要求1所述的方法,其特征在于还包括:
从动态随机访问存储器读取批量处理的参数;以及
根据操作参数发送每个操作分组通过数据加密标准引擎。
10.一种用于改进数据加密标准短操作吞吐量的方法,包括:
批量处理多个操作参数,每个操作参数均对应于一个操作分组,每个操作分组小于80个字节;
通过存储器映射操作,将批量处理的操作参数读取到动态随机访问存储器中,其中,批量操作参数和对应操作分组被批量处理到一个单独的请求中;以及
读取对每个密码操作的对应操作参数,根据操作参数发送每个操作分组通过数据加密标准引擎。
11.如权利要求10所述的方法,其特征在于数据加密标准是外到外的,并且分别发送每个操作分组的输出。
12.如权利要求10所述的方法,其特征在于操作分组长度在8至80个字节之间。
13.一种用于长度介于8到80个字节之间的操作分组的对称密钥密码方法,包括:
向引擎提供密钥索引;
为操作复位引擎芯片;
读取初始化向量;
将初始化向量载入引擎芯片;
根据密钥索引确定密钥;
将密钥载入引擎芯片;
读取操作分组的数据长度;以及
成批输送操作分组通过该引擎,其中中央处理单元不处理字节。
14.如权利要求13所述的方法,其特征在于该引擎是数据加密标准引擎。
15.如权利要求13所述的方法,其特征在于还包括:
发送所述数据长度的数据通过输入通道进入引擎芯片;以及
发送所述数据长度的数据通过输出通道。
16.如权利要求15所述的方法,其特征在于该通道是先入先出FIFO通道。
CNB018088597A 2000-05-01 2001-04-30 改进短操作的des硬件吞吐量 Expired - Lifetime CN1306748C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US20100200P 2000-05-01 2000-05-01
US60/201,002 2000-05-01

Publications (2)

Publication Number Publication Date
CN1502185A CN1502185A (zh) 2004-06-02
CN1306748C true CN1306748C (zh) 2007-03-21

Family

ID=22744069

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018088597A Expired - Lifetime CN1306748C (zh) 2000-05-01 2001-04-30 改进短操作的des硬件吞吐量

Country Status (10)

Country Link
US (3) US7362863B2 (zh)
EP (1) EP1297652B1 (zh)
JP (1) JP4443088B2 (zh)
KR (1) KR20030062232A (zh)
CN (1) CN1306748C (zh)
AT (1) ATE318032T1 (zh)
AU (1) AU2001259277A1 (zh)
DE (1) DE60117255T2 (zh)
IL (2) IL152595A0 (zh)
WO (1) WO2001084769A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970451B1 (en) * 1999-10-12 2005-11-29 At&T Corp. Smart routers-simple optics: network architecture for IP over WDM
US7103180B1 (en) * 2001-10-25 2006-09-05 Hewlett-Packard Development Company, L.P. Method of implementing the data encryption standard with reduced computation
FR2834361B1 (fr) * 2001-12-28 2004-02-27 Bull Sa Module de securisation de donnees par chiffrement/dechiffrement et/ou signature/verification de signature
US7502943B2 (en) 2003-04-18 2009-03-10 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic block cipher round results
US7542566B2 (en) 2003-04-18 2009-06-02 Ip-First, Llc Apparatus and method for performing transparent cipher block chaining mode cryptographic functions
US7532722B2 (en) 2003-04-18 2009-05-12 Ip-First, Llc Apparatus and method for performing transparent block cipher cryptographic functions
US7392400B2 (en) 2003-04-18 2008-06-24 Via Technologies, Inc. Microprocessor apparatus and method for optimizing block cipher cryptographic functions
US7925891B2 (en) 2003-04-18 2011-04-12 Via Technologies, Inc. Apparatus and method for employing cryptographic functions to generate a message digest
US7844053B2 (en) 2003-04-18 2010-11-30 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7539876B2 (en) * 2003-04-18 2009-05-26 Via Technologies, Inc. Apparatus and method for generating a cryptographic key schedule in a microprocessor
US7529368B2 (en) 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent output feedback mode cryptographic functions
US7900055B2 (en) 2003-04-18 2011-03-01 Via Technologies, Inc. Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms
US7536560B2 (en) 2003-04-18 2009-05-19 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic key size
US7529367B2 (en) 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent cipher feedback mode cryptographic functions
US7519833B2 (en) 2003-04-18 2009-04-14 Via Technologies, Inc. Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine
US7321910B2 (en) 2003-04-18 2008-01-22 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
KR100585135B1 (ko) * 2004-02-28 2006-06-01 삼성전자주식회사 불법 복제 방지 기능을 갖는 aes 엔진 장치 및 이의암호화/복호화 방법
KR100696061B1 (ko) * 2004-09-14 2007-03-15 쿠쿠전자주식회사 현미발아방법
JP4779657B2 (ja) * 2006-01-11 2011-09-28 ソニー株式会社 イベント方向検出装置およびその方法
CN101051904B (zh) * 2007-05-17 2010-05-19 成都金山互动娱乐科技有限公司 一种保护网络应用程序使用账号密码进行登录的方法
CN101431405B (zh) * 2008-11-17 2011-09-14 暨南大学 Des加密方法及其硬件电路实现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548648A (en) * 1994-04-05 1996-08-20 International Business Machines Corporation Encryption method and system
US5818939A (en) * 1996-12-18 1998-10-06 Intel Corporation Optimized security functionality in an electronic system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4731843A (en) * 1985-12-30 1988-03-15 Paradyne Corporation Method and device of increasing the execution speed of cipher feedback mode of the DES by an arbitrary multiplier
US4964164A (en) * 1989-08-07 1990-10-16 Algorithmic Research, Ltd. RSA computation method for efficient batch processing
JPH06197146A (ja) 1992-12-25 1994-07-15 Hitachi Ltd 通信制御システムにおける制御パラメータ設定方式およびデータリンクの設定方式
NL9400428A (nl) * 1994-03-18 1995-11-01 Nederland Ptt Inrichting voor het cryptografisch bewerken van datapakketten, alsmede werkwijze voor het genereren van cryptografische bewerkingsdata.
US5559889A (en) 1995-03-31 1996-09-24 International Business Machines Corporation System and methods for data encryption using public key cryptography
US5953418A (en) * 1995-06-14 1999-09-14 David Hall Providing selective data broadcast receiver addressability
JP3502200B2 (ja) * 1995-08-30 2004-03-02 株式会社日立製作所 暗号通信システム
CA2182254C (en) 1996-07-29 2000-02-15 Weidong Kou Generic file format for multiple security requirements
US5850443A (en) * 1996-08-15 1998-12-15 Entrust Technologies, Ltd. Key management system for mixed-trust environments
AUPO799197A0 (en) * 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Image processing method and apparatus (ART01)
WO1999057641A1 (en) * 1998-05-01 1999-11-11 Powerquest Corporation Manipulation of virtual and live computer storage device partitions
JPH11344925A (ja) 1998-05-29 1999-12-14 Nec Corp 部分的暗号化装置及びコンピュータ可読記録媒体
US6438678B1 (en) * 1998-06-15 2002-08-20 Cisco Technology, Inc. Apparatus and method for operating on data in a data communications system
US6393565B1 (en) * 1998-08-03 2002-05-21 Entrust Technologies Limited Data management system and method for a limited capacity cryptographic storage unit
US6636242B2 (en) * 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548648A (en) * 1994-04-05 1996-08-20 International Business Machines Corporation Encryption method and system
US5818939A (en) * 1996-12-18 1998-10-06 Intel Corporation Optimized security functionality in an electronic system

Also Published As

Publication number Publication date
US7831040B2 (en) 2010-11-09
US20090034719A1 (en) 2009-02-05
DE60117255D1 (de) 2006-04-20
EP1297652A4 (en) 2003-08-20
DE60117255T2 (de) 2006-10-05
JP2003532915A (ja) 2003-11-05
US20040028232A1 (en) 2004-02-12
ATE318032T1 (de) 2006-03-15
WO2001084769A1 (en) 2001-11-08
CN1502185A (zh) 2004-06-02
US7362863B2 (en) 2008-04-22
US20080192926A1 (en) 2008-08-14
IL152595A0 (en) 2003-06-24
US8374343B2 (en) 2013-02-12
AU2001259277A1 (en) 2001-11-12
EP1297652A1 (en) 2003-04-02
EP1297652B1 (en) 2006-02-15
IL152595A (en) 2010-12-30
JP4443088B2 (ja) 2010-03-31
KR20030062232A (ko) 2003-07-23

Similar Documents

Publication Publication Date Title
CN1306748C (zh) 改进短操作的des硬件吞吐量
CN1284327C (zh) 分组加密系统和方法
Matsui New block encryption algorithm MISTY
US7200226B2 (en) Cipher block chaining decryption
EP3707880A1 (en) Nic with programmable pipeline
CN105531713A (zh) 从单个数据缓冲器生成多个安全散列
CN100394348C (zh) 协助处理密码消息的指令
JP2005507614A (ja) パケットの順序付けを行う並列パケット変換処理のための方法、システムおよびコンピュータプログラム製品
US20070180228A1 (en) Dynamic loading of hardware security modules
US20070022084A1 (en) Hashing assist for network processors
CN113821381B (zh) 区块链节点资源备份及离线节点资源转移方法及存储介质
CN114095259B (zh) 鉴别加解密装置及方法
CN112560086B (zh) 一种用于密码协处理器的配置方法、装置、cpu及电子设备
US20220416996A1 (en) Block Cipher Encryption Pipeline
US11907408B2 (en) Encryption and decryption for a multi-tile processing unit
CN115516454B (zh) 硬件安全模块和系统
US11637690B1 (en) Format preserving encryption (FPE) system and method for long strings
US20230222231A1 (en) Data encryption and decryption system and method
WO2017016087A1 (zh) 一种生成随机布局程序的方法及装置
CN116383803A (zh) 数据处理方法、装置、计算机设备和存储介质
CN116894277A (zh) 用于处理与安全模块关联的数据的方法和设备
CN115242389A (zh) 基于多级节点网络的数据混淆传输方法和系统
CN114077745A (zh) 基于区块链和大数据的金融客户管理方法
CN117828648A (zh) 一种可信总线交互系统的实现方法
KR100474887B1 (ko) 씨디엠에이(cdma)이동통신시스템의인증방법

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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20070321