CN107835071A - 一种提高键入‑散列法运算速度的方法和装置 - Google Patents

一种提高键入‑散列法运算速度的方法和装置 Download PDF

Info

Publication number
CN107835071A
CN107835071A CN201711069009.8A CN201711069009A CN107835071A CN 107835071 A CN107835071 A CN 107835071A CN 201711069009 A CN201711069009 A CN 201711069009A CN 107835071 A CN107835071 A CN 107835071A
Authority
CN
China
Prior art keywords
mac
sha
message
modules
value
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
CN201711069009.8A
Other languages
English (en)
Other versions
CN107835071B (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201711069009.8A priority Critical patent/CN107835071B/zh
Publication of CN107835071A publication Critical patent/CN107835071A/zh
Application granted granted Critical
Publication of CN107835071B publication Critical patent/CN107835071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种提高键入‑散列法运算速度的方法和装置。通过对HMNAC‑SHA‑1算法处理流程进行调度优化,取消等待SHA‑1的计算时间,实现了HMNAC‑SHA‑1算法全流水化,极大的提高了数据吞吐率,尤其在大流量处理数据流时,单线程HMAC‑SHA‑1算法能够达到61.44Mbps per MHz数据吞吐率,提升了近10倍的传输效率,能够满足现有网络安全通信设备对大量流数据的处理要求。

Description

一种提高键入-散列法运算速度的方法和装置
技术领域
本发明涉及数据通信领域,具体涉及一种提高键入-散列法运算速度的方法和装置。
背景技术
随着信息社会的发展,数据交换,网上交易等活动的频繁,数据安全和数据加密日益重要,众多的安全协议和加密标准也应运而生。一种基于散列函数的键入-散列法(Keyed-Hashing for Message Authentication,HMAC)是一个公开的协议,是一种基于密钥的报文完整性的验证方法,其安全性是建立在Hash算法的基础上。它要求通信双方共享密钥、约定算法、对报文进行Hash运算,如MD5、SHA-1、RIPEMD-160等,形成固定长度的认证码(MAC)。通信双方通过认证码的校验来确定报文的合法性,可以对信息来源进行身份认证并且可以防止信息的非法改写、伪造。专利03102441.6《一种提高键入-散列法运算速度的方法》已经给出了一种嵌入信息-摘要散列函数(MD5)的键入-散列法(HMAC-MD5)的实现方法。
本发明所关注的是一种安全散列函数(Secure Hash Standard,SHA-1)的键入-散列法,即安全散列算法相关联的键入散列法(HMAC-SHA-1)。HMAC-SHA1是用于网络安全,对信息进行加密的一种方法,它对任意信息长度的信息,通过其不可逆的字符串变换算法进行处理,得到几乎唯一的固定长度的摘要值(不同信息产生同一结果的可能性可以忽略不计),其目的是确保数据的来源是可信且在传输过程中没被修改过。
图1所示为现有的HMAC-SHA-1算法流程示意图。其中,图中的b等于512,n等于160,K是输入密钥。在密钥K的左边添加0来创建一个字长为512bits字节串K+。例如:输入密钥K长度为64bits,而b=512bits,则K左边会加入56个零字节0x00。算法的具体处理过程分为以下步骤:
首先,将K+与一个固定字符串ipad做异或运算产生一个b bits的分组Si,将待加密的报文M填充至Si后,使用SHA-1算法计算填充后的数据流,并输出结果,作为下一次计算的报文信息;
其次,将K+与一个固定字符串opad(与ipad不相同的固定字符串)做异或运算产生一个b bits的分组So,并将前一步的计算结果填充至So后,再次使用SHA-1算法计算填充后的数据流,并输出最终结果。
图2所示为现有技术SHA-1算法结构示意图。在该算法中,首先把待加密的报文信息的位流填充成512的整数倍,然后将已填充好的报文信息分成若干个512位块即K0~KL,每512位块作为一个输出;每个运算单元即SHA-1方框有两个输入:一是已经填充过的512位块的报文信息,另一个是运算初始值,即上一个运算单元经过80轮运算后得到的160位结果(第一个运算单元的初始值是给定的),这样直到最后一个块运算完毕后就得到SHA-1算法输出的160位摘要值;
SHA-1算法的核心是进行四轮运算,每轮执行20步迭代,一次完整的SHA-1压缩流程如图3所示;
每次迭代的基本操作如图4所示,图4中的S5表示对32位变量循环左移5位,S30表示对32位变量循环左移30位,ft为基本逻辑函数,Kt为加法常量,与t相关,具体定义如下:
当t=0~19,ft(B,C,D)=(B AND C)OR((NOT B)AND D),Kt=0x5A827999;
当t=20~39,ft(B,C,D)=B XOR C XOR D,Kt=0x6ED9EBA1;
当t=40~59,ft(B,C,D)=(B AND C)OR(B AND D)OR(C AND D),Kt=0x8F1BBCDC;
当t=60~79,ft(B,C,D)=B XOR C XOR D,Kt=0xCA62C1D6;
AND表示逻辑与;NOT表示逻辑非;XOR表示逻辑异或;OR表示逻辑或。
Wt是由当前512位输入导出的长32位的变量,每次迭代使用一个,共80个,具体推导公式为:Wt=S1(Wt-16XOR Wt-14XOR Wt-8XOR Wt-3)
在计算第一个分组消息时的A、B、C、D、E为5个已知常量,A=0x67452301,B=0xEFCDAB98,C=0x98BADCFE,D=0x10325476,E=0xC3D2E1F0,然后将本消息的输出作为计算下一组摘要的初始向量,以此类推,最后一组消息的输出摘要即为整个消息的最终摘要。
从上述过程可以看出,采用HMNAC-SHA-1算法进行加密计算,需要进行大量的计算,其中的主要计算工作量集中在SHA-1算法,每一轮的SHA-1的计算需要经过80轮的运算,而后一步的计算要使用前一步的计算结果,这就使得后面的计算要一直等待前一步的计算完毕后才能进行。因此报文内容越大,需要等待的时间就越长,已远远满足不了现代网络通信中加密要求。
传统HMAC-SHA-1算法实现方式主要有两种:一种是使用专用集成电路(Application Specific Integrated Circuit,ASIC)和软件实现HMAC-SHA-1,ASIC主要完成SHA-1算法的计算,软件完成HMAC的计算;一种是使用现场可编程门阵列(FieldProgrammable Gate Array,FPGA)器件,采用软核的方式构建HMAC-SHA-1算法;这种两种实现方式在进行每一步HMAC计算时,都需要等待SHA-1计算结果,等待时间则制约了数据的传输效率,目前已实现的数据吞吐率为6.24Mbps per MHz,但面对越来越高的网络通信速率,这种数据吞吐率已经远远无法满足日益增长的需求。
发明内容
有鉴于此,本发明特提出一种提高键入-散列法运算速度的方法和装置,通过对HMNAC-SHA-1算法处理流程进行调度优化,取消等待SHA-1的计算时间,实现了HMNAC-SHA-1算法全流水化,极大的提高了数据吞吐率。
一种键入-散列法的装置,所述装置包括:报文存储控制模块、报文输入SHA-1调度模块、SHA-1算法模块、MAC输出调度模块、MAC输出排序模块,其中:报文存储控制模块、报文输入SHA-1调度模块与MAC输出排序模块连接,报文输入SHA-1调度模块分别与报文存储控制模块、SHA-1算法模块、MAC输出调度模块连接,SHA-1算法模块分别与报文输入SHA-1调度模块及MAC输出调度模块连接,MAC输出调度模块分别与SHA-1算法模块和MAC输出排序模块连接,MAC输出排序模块分别与MAC输出调度模块和报文存储控制模块连接,
报文存储控制模块,用于填充报文,并存储填充后的报文和密钥,对存储空间进行管理;
报文输入SHA-1调度模块,用于读取存储空间的报文和密钥,在生成一个MAC状态信息,将报文和密钥送入到SHA-1算法模块计算,接收由MAC输出调度模块返回的中间过程计算出的MAC值并根据MAC状态信息对MAC值进行调度;
SHA-1算法模块,用于进行SHA-1算法的计算;
MAC输出调度模块,用于根据添MAC状态信息,对结果进行转发;
MAC输出排序模块,用于对输出的MAC值进行排序,确保输入报文顺序和输出MAC值的一致性,对已经发送出去的MAC值,回收地址空间;
所述报文存储控制模块,包括:报文存储随机存取存储器(Random-Access Memory,RAM)、密钥存储RAM、空闲块先入先出存储器(First-In-First-Out,FIFO)、使用块FIFO;
其中,报文存储RAM主要对填充后的报文进行存储,存储空间划分如图6所示,报文存储RAM共划分n个大的存储块,每个存储块的宽度为512位,深度为L,每个存储块可以存储一个完整的需要进行计算报文;密钥存储RAM主要存储每个存储块所对应的密钥,深度为n,宽度由用户实际情况自定义;空闲块FIFO主要存储当前空闲的存储块的首地址;使用块FIFO主要存储已使用存储块的首地址;
所述报文输入SHA-1调度模块,包括:MAC FIFO、MAC状态FIFO、So存储RAM;
其中,MAC FIFO主要存储HMAC-SHA-1算法计算出中间结果;MAC状态FIFO与MAC FIFO配合使用,主要存储所对应MAC FIFO中MAC值所对应算法中的状态(例如:Si计算结果、So计算结果、报文中间计算结果、报文尾计算结果、最终计算结果、存储块号、存储块偏移量);So存储RAM主要存储K+与一个固定字符串opad经过SHA-1算法计算出的MAC值;
所述MAC输出排序模块,包括:MAC RAM、MAC有效RAM;
其中,MAC RAM主要存储已经完成HMAC-SHA-1计算的MAC值;MAC有效RAM与MAC RAM配合使用,主要用于标识MAC RAM内部存储MAC值有效。
一种提高键入-散列法运算速度的方法,将SHA-1算法嵌入所述HMAC算法以形成HMAC-SHA-1算法,该方法包括以下步骤:
报文存储模块接收到报文和密钥后,将完成报文的填充,填充完成后,从空闲块FIFO中读取当前空闲的存储块号,根据存储块号,将报文存储到对应的报文存储RAM中的存储块中,同时将密钥存储同样存储块号的密钥存储RAM中,将已使用的存储块号存入到使用块FIFO中;
报文输入SHA-1调度模块同时监控使用块FIFO和MAC状态FIFO,若使用块FIFO有值,则读取使用块FIFO中的存储块号,根据存储块号,提取密钥存储RAM中存储的密钥值,送入到SHA-1算法模块计算MAC值,同时生成一个MAC状态信息,表示MAC值所对应算法中的状态;若MAC状态FIFO有值,则读取MAC状态FIFO和MAC FIFO,根据MAC状态确认当前MAC值所在算法的状态,并根据算法进行下一步的计算,同时更新MAC状态;
MAC输出调度模块接收来自SHA-1算法计算出的MAC值和MAC状态,根据MAC状态信息判定当前MAC值所处算法的状态,若是当前MAC状态信息为最终计算结果,将MAC值和MAC状态发送到MAC输出排序模块;若不为最终计算结果,则返回给报文输入SHA-1调度模块继续算法运算;
MAC输出排序模块接收来自MAC输出调度模块发来的MAC值和MAC状态信息,按照存储块号存入到对应的MAC RAM中,并将对应的MAC有效RAM相同地址同时置高,按照顺序依次输出MAC值,并回收存储块号到报文输入SHA-1调度模块的空闲块FIFO中。
本发明提供的一种提高键入-散列法运算速度的方法和装置,使用FPGA实现了HMAC-SHA-1算法,通过对算法的合理调度和流水化设计,使得加密处理速度上有了极大的提高,尤其在大流量处理数据流时,单线程HMAC-SHA-1算法在175Mhz的工作频率下能够达到12Gbps数据吞吐率,满足现有网络安全通信设备对大量流数据的处理要求。
本发明实施例提出的一种提高键入-散列法运算速度的方法和装置,使用FPGA实现了HMAC-SHA-1算法,通过对算法的合理调度和流水化设计,使得加密处理速度上有了极大的提高,尤其在大流量处理数据流时,单线程HMAC-SHA-1算法能够达到61.44Mbps perMHz数据吞吐率,提升了近10倍的传输效率,能够满足现有网络安全通信设备对大量流数据的处理要求。
附图说明
图1为现有技术的HMAC-SHA-1算法流程示意图;
图2为现有技术SHA-1算法结构示意图;
图3为现有技术一次完整的SHA-1压缩流程示意图;
图4为现有技术SHA-1每次迭代的基本操作示意图;
图5为本发明实施例一中键入-散列法的装置结构示意图;
图6为本发明实施例一中报文存储RAM和密钥存储RAM存储空间划分及地址映射示意图;
图7为本发明实施例二中提高键入-散列法的运算速度的方法示意图。
具体实施方式
下面结合说明书附图对本发明实施例进行详细描述:
本实施例是利用现场可编程门阵列(Field Programmable Gate Array,FPGA)实现该算法;
如图5所示,为本发明实施例一中的键入-散列法的装置结构示意图,所述的高速键入-散列法的设备包括:报文存储控制模块101、报文输入SHA-1调度模块102、SHA-1算法模块103、MAC输出调度模块104、MAC输出排序模块105,报文存储控制模块101与报文输入SHA-1调度模块102和MAC输出排序模块105连接,报文输入SHA-1调度模块102与报文存储控制模块101、SHA-1算法模块103和MAC输出调度模块104连接,SHA-1算法模块103与报文输入SHA-1调度模块102和MAC输出调度模块104连接,MAC输出调度模块104与SHA-1算法模块103和MAC输出排序模块105连接,MAC输出排序模块105与MAC输出调度模块104和报文存储控制模块101连接。
本实施例一中,报文存储控制模块101用于填充报文,并存储填充后的报文和密钥,对存储空间进行管理;报文输入SHA-1调度模块102用于读取存储空间的报文和密钥,在生成一个MAC状态信息,将报文和密钥送入到SHA-1算法模块103计算,接收由MAC输出调度模块104返回的中间过程计算出的MAC值并根据MAC状态信息对MAC值进行调度;SHA-1算法模块103用于进行SHA-1算法的计算;MAC输出调度模块104用于根据MAC状态信息,对结果进行转发;MAC输出排序模块105用于对输出的MAC值进行排序,确保输入报文顺序和输出MAC值的一致性,对已经发送出去的MAC值,回收地址空间。
本实施例一中所述的所述报文存储控制模块101包括:报文存储RAM 12、密钥存储RAM 14、空闲块FIFO 11、使用块FIFO 13,其中,报文存储RAM 12主要对填充后的报文进行存储,存储空间划分如图6所示,报文存储RAM 12共划分n个大的存储块,每个存储块的宽度为512位,深度为L,每个存储块可以存储一个完整的需要进行计算报文;密钥存储RAM 14主要存储每个存储块所对应的密钥,深度为n,宽度由用户实际情况自定义;空闲块FIFO 11主要存储当前空闲的存储块的首地址;使用块FIFO 13主要存储已使用存储块的首地址。
本实施例一中所述的所述报文输入SHA-1调度模块102包括:MAC FIFO 21、MAC状态FIFO 22、So存储RAM 23,其中,MAC FIFO 21主要存储HMAC-SHA-1算法计算出中间结果;MAC状态FIFO 22与MAC FIFO 21配合使用,主要存储所对应MAC FIFO 21中MAC值所对应算法中的状态信息(例如:Si计算结果、So计算结果、报文中间计算结果、报文尾计算结果、最终计算结果、存储块号、存储块偏移量);So存储RAM 23主要存储K+与一个固定字符串opad经过SHA-1算法计算出的MAC值;
本实施例一中所述MAC输出排序模块105包括:MAC RAM 51、MAC有效RAM 52,其中,MACRAM 51主要存储已经完成HMAC-SHA-1计算的MAC值;MAC有效RAM 52与MAC RAM 51配合使用,主要用于标识MAC RAM 51内部存储MAC值有效。
如图7所示,为本发明实施例二中的提高键入-散列法的运算速度的方法示意图,所述实现方法包括以下步骤:
步骤701:报文存储模块接收到报文和密钥后,将完成报文的填充,填充完成后,从空闲块FIFO中读取当前空闲的存储块号,根据存储块号,将报文存储到对应的报文存储RAM中的存储块中,同时将密钥存储同样存储块号的密钥存储RAM中,将已使用的存储块号存入到使用块FIFO中;
报文存储RAM每个存储块宽度为512位,深度为L(L为最大报文填充后的长度),填充后的报文均从低位开始存入存储块;
步骤702:报文输入SHA-1调度模块同时监控使用块FIFO和MAC状态FIFO,若使用块FIFO有值,则读取使用块FIFO中的存储块号,根据存储块号,提取密钥存储RAM中存储的密钥值,送入到SHA-1算法模块计算MAC值,同时生成一个MAC状态信息,表示MAC值所对应算法中的状态;若MAC状态FIFO有值,则读取MAC状态FIFO和MAC FIFO,根据MAC状态确认当前MAC值所在算法的状态,并根据算法进行下一步的计算,同时更新MAC状态;
报文输入SHA-1调度模块监控使用块FIFO,若使用块FIFO有值,说明有新报文到达,读取使用块FIFO中的首地址,根据首地址提取密钥存储RAM中存储的密钥值,将密钥K+构造512bits的报文,构造ipad和opad报文,同时生成一个MAC状态信息,将密钥、ipad、MAC状态信息送入到SHA-1算法模块计算Si的MAC值,再将密钥、opad、MAC状态信息送入到SHA-1算法模块计算So的MAC值;
MAC状态信息是一个14位的寄存器,第13位和第11位用于标识该次计算的MAC值的含义(例如:Si计算结果、So计算结果、报文中间计算结果、报文尾计算结果、最终计算结果),第10位和第5位用于标识该报文的存储块号,第4位和第0位用于标识该报文的在存储块内的偏移量;
报文输入SHA-1调度模块监控MAC状态FIFO,若MAC状态FIFO有值,说明有计算完成的MAC值,读取MAC状态FIFO和MAC FIFO,根据MAC状态信息来判定操作。若MAC状态信息为Si计算结果,则根据MAC状态信息中的存储块号,读取报文存储RAM中偏移量为0的512bits的报文,将Si计算结果和报文内容送入到SHA-1算法模块计算MAC值,并更新MAC状态信息为报文中间计算结果;若MAC状态信息为报文中间计算结果,则根据MAC状态信息中的存储块号和偏移量,读取报文存储RAM中偏移量加1的512bits的报文,将报文中间计算结果和报文内容送入到SHA-1算法模块计算MAC值,并将MAC状态信息中的偏移量增加1;若MAC状态信息为So计算结果,则根据MAC状态信息中的存储块号,将So计算结果的存入到So存储RAM;若MAC状态信息为报文尾计算结果,则根据MAC状态信息中的存储块号,读取So存储RAM中的MAC值,将MAC值和报文尾计算结果,送入到SHA-1算法模块计算MAC值,并更新MAC状态信息为最终计算结果。
在步骤702中,为了保证SHA-1算法的高速数据吞吐率,SHA-1算法模块采用全寄存器编写算法,能够满足全流水计算要求,工作频率可以达到250Mhz,数据吞吐率可以达到16Gbps。
步骤703:MAC输出调度模块接收来自SHA-1算法计算出的MAC值和MAC状态,根据MAC状态信息判定当前MAC值所处算法的状态,若是当前MAC状态信息为最终计算结果,将MAC值和MAC状态发送到MAC输出排序模块;若不为最终计算结果,则返回给报文输入SHA-1调度模块继续算法运算。
步骤704:MAC输出排序模块接收来自MAC输出调度模块发来的MAC值和MAC状态信息,按照存储块号存入到对应的MAC RAM中,并将对应的MAC有效RAM相同地址同时置高,按照顺序依次输出MAC值,并回收存储块号到报文输入SHA-1调度模块的空闲块FIFO中。
在步骤704中,MAC输出排序模块主要完成输出保序功能,由于接收到的报文大小不一致,大报文计算的速度相比小报文的计算速度要慢,故MAC输出调度模块发来的MAC值的顺序与实际接收的报文顺序不一致,利用MAC输出排序模块对结果进行缓存,再按照输入顺序依次输出MAC值。
本实施例中所有使用的FIFO均为Altera公司提供的FIFO核,所有使用的RAM均为Altera公司提供的RAM核。
综合以上实施例,本发明实施例提出的一种提高键入-散列法运算速度的方法和装置,使用FPGA实现了HMAC-SHA-1算法,通过对算法的合理调度和流水化设计,使得加密处理速度上有了极大的提高,尤其在大流量处理数据流时,单线程HMAC-SHA-1算法能够达到61.44Mbps per MHz数据吞吐率,提升了近10倍的传输效率,能够满足现有网络安全通信设备对大量流数据的处理要求。
显然,本领域的技术人员可以根据本发明的技术构思对本发明进行各种改动和变形,而这些修改和变形属于本发明权利要求及等同技术范围之内,则都应属于本发明权利要求的保护范围。

Claims (2)

1.一种提高键入-散列法运算速度的装置,包括:报文存储控制模块、报文输入SHA-1调度模块、SHA-1算法模块、MAC输出调度模块、MAC输出排序模块,其特征在于,报文存储控制模块、报文输入SHA-1调度模块与MAC输出排序模块连接,报文输入SHA-1调度模块分别与报文存储控制模块、SHA-1算法模块、MAC输出调度模块连接,SHA-1算法模块分别与报文输入SHA-1调度模块及MAC输出调度模块连接,MAC输出调度模块分别与SHA-1算法模块和MAC输出排序模块连接,MAC输出排序模块分别与MAC输出调度模块和报文存储控制模块连接,
报文存储控制模块,用于填充报文,并存储填充后的报文和密钥,对存储空间进行管理;
报文输入SHA-1调度模块,用于读取存储空间的报文和密钥,在生成一个MAC状态信息,将报文和密钥送入到SHA-1算法模块计算,接收由MAC输出调度模块返回的中间过程计算出的MAC值并根据MAC状态信息对MAC值进行调度;
SHA-1算法模块,用于进行SHA-1算法的计算;
MAC输出调度模块,用于根据添MAC状态信息,对结果进行转发;
MAC输出排序模块,用于对输出的MAC值进行排序,确保输入报文顺序和输出MAC值的一致性,对已经发送出去的MAC值,回收地址空间。
2.一种提高键入-散列法运算速度的方法,将SHA-1算法嵌入HMAC算法以形成HMAC-SHA-1算法,其特征在于,该方法包括以下步骤:
报文存储控制模块接收到报文和密钥后,将完成报文的填充,填充完成后,从空闲块FIFO中读取当前空闲的存储块号,根据存储块号,将报文存储到对应的报文存储RAM中的存储块中,同时将密钥存储同样存储块号的密钥存储RAM中,将已使用的存储块号存入到使用块FIFO中;
报文输入SHA-1调度模块同时监控使用块FIFO和MAC状态FIFO,若使用块FIFO有值,则读取使用块FIFO中的存储块号,根据存储块号,提取密钥存储RAM中存储的密钥值,送入到SHA-1算法模块计算MAC值,同时生成一个MAC状态信息,表示MAC值所对应算法中的状态;若MAC状态FIFO有值,则读取MAC状态FIFO和MAC FIFO,根据MAC状态确认当前MAC值所在算法的状态,并根据算法进行下一步的计算,同时更新MAC状态;
MAC输出调度模块接收来自SHA-1算法计算出的MAC值和MAC状态,根据MAC状态信息判定当前MAC值所处算法的状态,若是当前MAC状态信息为最终计算结果,将MAC值和MAC状态发送到MAC输出排序模块;若不为最终计算结果,则返回给报文输入SHA-1调度模块继续算法运算;
MAC输出排序模块接收来自MAC输出调度模块发来的MAC值和MAC状态信息,按照存储块号存入到对应的MAC RAM中,并将对应的MAC有效RAM相同地址同时置高,按照顺序依次输出MAC值,并回收存储块号到报文输入SHA-1调度模块的空闲块FIFO中。
CN201711069009.8A 2017-11-03 2017-11-03 一种提高键入-散列法运算速度的方法和装置 Active CN107835071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711069009.8A CN107835071B (zh) 2017-11-03 2017-11-03 一种提高键入-散列法运算速度的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711069009.8A CN107835071B (zh) 2017-11-03 2017-11-03 一种提高键入-散列法运算速度的方法和装置

Publications (2)

Publication Number Publication Date
CN107835071A true CN107835071A (zh) 2018-03-23
CN107835071B CN107835071B (zh) 2020-02-21

Family

ID=61650568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711069009.8A Active CN107835071B (zh) 2017-11-03 2017-11-03 一种提高键入-散列法运算速度的方法和装置

Country Status (1)

Country Link
CN (1) CN107835071B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111738703A (zh) * 2020-05-29 2020-10-02 中国科学院计算技术研究所 一种加速安全散列算法的加速器
WO2021233198A1 (zh) * 2020-05-20 2021-11-25 深圳比特微电子科技有限公司 用于执行散列算法的电路和方法
US11456854B2 (en) 2018-02-16 2022-09-27 Nordic Semiconductor Asa Protecting cryptographic key data

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001080483A2 (en) * 2000-04-13 2001-10-25 Broadcom Corporation Authentication engine architecture and method
WO2002101525A3 (en) * 2001-06-13 2003-03-06 Corrent Corp Apparatus and methods for a hash processing system using integrated message digest and secure hash architectures
EP1387236A1 (en) * 2002-07-08 2004-02-04 Broadcom Corporation Key management system and method for secure data transmission
CN1521982A (zh) * 2003-01-28 2004-08-18 华为技术有限公司 一种提高键入-散列法运算速度的方法
CN101330497A (zh) * 2007-06-20 2008-12-24 凹凸科技(中国)有限公司 用于进行散列运算的散列单元和方法
CN105721161A (zh) * 2016-01-28 2016-06-29 东南大学 一种基于总线的h2-mac消息认证ip核硬件装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001080483A2 (en) * 2000-04-13 2001-10-25 Broadcom Corporation Authentication engine architecture and method
WO2002101525A3 (en) * 2001-06-13 2003-03-06 Corrent Corp Apparatus and methods for a hash processing system using integrated message digest and secure hash architectures
EP1387236A1 (en) * 2002-07-08 2004-02-04 Broadcom Corporation Key management system and method for secure data transmission
CN1521982A (zh) * 2003-01-28 2004-08-18 华为技术有限公司 一种提高键入-散列法运算速度的方法
CN100449986C (zh) * 2003-01-28 2009-01-07 华为技术有限公司 一种提高键入-散列法运算速度的方法
CN101330497A (zh) * 2007-06-20 2008-12-24 凹凸科技(中国)有限公司 用于进行散列运算的散列单元和方法
CN105721161A (zh) * 2016-01-28 2016-06-29 东南大学 一种基于总线的h2-mac消息认证ip核硬件装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11456854B2 (en) 2018-02-16 2022-09-27 Nordic Semiconductor Asa Protecting cryptographic key data
WO2021233198A1 (zh) * 2020-05-20 2021-11-25 深圳比特微电子科技有限公司 用于执行散列算法的电路和方法
US11716076B2 (en) 2020-05-20 2023-08-01 Shenzhen Microbt Electronics Technology Co., Ltd. Circuits and methods for performing hash algorithm
CN111738703A (zh) * 2020-05-29 2020-10-02 中国科学院计算技术研究所 一种加速安全散列算法的加速器

Also Published As

Publication number Publication date
CN107835071B (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
CN103716157B (zh) 分组多密钥加密方法及装置
CN111492616B (zh) 用于基于晶格的密码学的可配置设备
US5073934A (en) Method and apparatus for controlling the use of a public key, based on the level of import integrity for the key
CN107678763A (zh) 基于数字签名技术的电能表升级方法和系统
CN107835071A (zh) 一种提高键入‑散列法运算速度的方法和装置
CN111722831B (zh) 一种加密系统及其实现方法
CN106571925A (zh) 对区块链系统中的区块进行工作量证明的方法及装置
CN101227286B (zh) 一种生成消息认证码的方法
CN110505062B (zh) 一种应用于联盟链的动态椭圆曲线加密方法
CN107395371A (zh) 无线传感器网络中的数据加密
CN103746805B (zh) 外部认证密钥的生成方法和系统
CN105721161B (zh) 一种基于总线的h2-mac消息认证ip核硬件装置
CN114697095A (zh) 一种混合加解密方法、系统、装置及介质
CN102946315B (zh) 一种采用分组方式构造mac码的方法及系统
CN115442043A (zh) 用于锅炉生产监控的视频数据传输方法
CN103607275A (zh) 一种安全性适应速度变化的加密方法及装置
CN100449986C (zh) 一种提高键入-散列法运算速度的方法
CN117134885A (zh) 一种兼容sm4密码算法的可调分组密码实现方法
CN108599922B (zh) 新型含密钥消息完整性认证码的生成方法
CN111683061A (zh) 基于区块链的物联网设备访问控制方法及装置
CN104618092A (zh) 一种信息加密方法及系统
CN106533653A (zh) 加密芯片、加密方法及加密系统
Shoukat et al. Randomized substitution method for effectively secure block ciphers in IOT environment
CN107317667B (zh) 一种身份证件丢失的预警方法及预警装置
CN103684748B (zh) 对称式加解密方法、对称式加解密系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant