CN108632017A - 一种sm3算法ip核及其信息处理方法、设备、介质 - Google Patents

一种sm3算法ip核及其信息处理方法、设备、介质 Download PDF

Info

Publication number
CN108632017A
CN108632017A CN201810385357.4A CN201810385357A CN108632017A CN 108632017 A CN108632017 A CN 108632017A CN 201810385357 A CN201810385357 A CN 201810385357A CN 108632017 A CN108632017 A CN 108632017A
Authority
CN
China
Prior art keywords
algorithm
register
ips
arm
message blocks
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.)
Pending
Application number
CN201810385357.4A
Other languages
English (en)
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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201810385357.4A priority Critical patent/CN108632017A/zh
Publication of CN108632017A publication Critical patent/CN108632017A/zh
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Abstract

本发明公开了一种SM3算法IP核及其信息处理方法、设备、介质,集成于BMC中,其中SM3算法IP核包括数据寄存器、运算寄存器、封装接口;数据寄存器,用于缓存BMC的ARM写入的消息块;运算寄存器,用于基于SM3算法对消息块进行杂凑运算,并保存杂凑运算结果;封装接口,用于与ARM连接,以使ARM与SM3算法IP核进行信息交互;其中,数据寄存器及运算寄存器采用硬件描述语言封装在SM3算法IP核中,封装接口的形式为ARM的AMBA总线接口规范形式。本发明公开的一种SM3算法IP核及其信息处理方法、设备及介质均在BMC内部实现了硬件SM3算法,在一定程度上提高了BMC的安全性。

Description

一种SM3算法IP核及其信息处理方法、设备、介质
技术领域
本发明涉及BMC信息处理技术领域,更具体地说,涉及一种SM3算法IP核及其信息处理方法、设备、介质。
背景技术
在现有国产BMC(Baseboard Management Controller,基板管理控制器)技术中,BMC内部采用MD5(Message-Digest Algorithm 5,消息摘要算法第五版)算法,另外BMC在启动过程中,通过调用外部TCM(Trusted Cryptography Module,可信密码模块)模块中的SM3算法实现对BIOS等固件的度量。请参阅图2,图2为现有技术中应用MD5算法的BMC与TCM的结构示意图。
然而,MD5算法已经被破解,其安全性较低,此外,BMC在成功度量自身主板后,无法再调用TCM模块中的SM3算法,使得BMC的安全性较低。
综上所述,如何提高BMC的安全性是目前本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种SM3算法IP核,其能在一定程度上解决如何提高BMC的安全性的技术问题。本发明还提供了一种SM3算法IP核信息处理方法、设备及介质。
为了实现上述目的,本发明提供如下技术方案:
一种SM3算法IP核,集成于BMC中,包括数据寄存器、运算寄存器、封装接口;
所述数据寄存器,用于缓存所述BMC的ARM写入的消息块;
所述运算寄存器,用于基于SM3算法对所述消息块进行杂凑运算,并保存杂凑运算结果;
所述封装接口,用于与所述ARM连接,以使所述ARM与所述SM3算法IP核进行信息交互;
其中,所述数据寄存器及所述运算寄存器采用硬件描述语言封装在所述SM3算法IP核中,所述封装接口的形式为所述ARM的AMBA总线接口规范形式。
优选的,还包括长度寄存器;
所述长度寄存器,用于保存所述ARM写入的待运算的所述消息块的总数量;
其中,所述长度寄存器采用所述硬件描述语言封装在所述SM3算法IP核中。
优选的,还包括控制寄存器;
所述控制寄存器,用于在自身的第0位偏移地址置1时控制所述SM3算法IP核运算完所述消息块后产生中断信号,置0时控制所述SM3算法IP核运算完所述消息块后不产生中断信号;在所述消息块有效时将自身的第1位偏移地址置为1,在所述消息块无效时将所述第1位偏移地址置为0;在自身的第2位偏移地址接收启动指令后,控制所述SM3算法IP核进入工作状态;判断出所述运算寄存器完成对所述消息块的杂凑运算后将自身的第3位偏移地址置为1,判断出所述数据寄存器缓存新的所述消息块后将所述第3位偏移地址置为0;
其中,所述控制寄存器采用所述硬件描述语言封装在所述SM3算法IP核中。
优选的,所述长度寄存器、所述数据寄存器、所述运算寄存器及所述控制寄存器的每一位偏移地址的长度均为32bit。
优选的,所述封装接口包括:
与所述ARM的时钟信号源连接的时钟信号输入接口;
传输所述ARM输入的复位信号至所述SM3算法IP核的复位信号输入接口;
传输所述ARM输入的数据至所述SM3算法IP核的数据输入接口;
传输所述ARM输入的目标寄存器的地址总线至所述SM3算法IP核的地址总线输入接口;
传输所述SM3算法IP核发送的所述杂凑运算结果至所述ARM的运算结果输出接口;
传输所述SM3算法IP核在所述消息块运算完成后产生的标志信号的标志信号至所述ARM的输出引脚。
一种SM3算法IP核信息处理方法,应用于如上任一所述的SM3算法IP核中,包括:
数据寄存器缓存BMC的ARM写入的消息块;
运算寄存器基于SM3算法对所述消息块进行杂凑运算,并保存杂凑运算结果。
优选的,所述数据寄存器缓存BMC的ARM写入的消息块的消息数据之前,还包括:
长度寄存器保存所述ARM写入的待运算的所述消息块的总数量N;
所述数据寄存器缓存BMC的ARM写入的消息块,所述运算寄存器基于SM3算法对所述消息块进行杂凑运算,并保存杂凑运算结果,包括:
所述数据寄存器缓存所述ARM写入的一个消息块;
所述运算寄存器基于SM3算法对所述数据寄存器新缓存的消息块进行杂凑运算,并保存所述杂凑运算结果;
返回所述数据寄存器缓存所述ARM写入的一个消息块的步骤,直至完成对N个消息块的杂凑运算。
优选的,所述长度寄存器保存所述ARM写入的待运算的所述消息块的总数量之前,还包括:
控制寄存器在自身的第2位偏移地址接收到所述ARM写入的启动指令后,控制所述SM3算法IP核进入工作状态;
所述数据寄存器缓存所述ARM写入的一个消息块之后,所述运算寄存器基于SM3算法对所述数据寄存器新缓存的消息块进行杂凑运算之前,还包括:
所述控制寄存器将自身的第3位偏移地址置为0;
所述运算寄存器基于SM3算法对所述数据寄存器新缓存的消息块进行杂凑运算,并保存所述杂凑运算结果之后,所述返回所述数据寄存器缓存所述ARM写入的一个消息块的步骤之前,还包括:
所述控制寄存器将所述第3位偏移地址置为1。
一种SM3算法IP核信息处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时控制寄存器实现如上任一所述的SM3算法IP核信息处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时控制寄存器实现如上任一所述的SM3算法IP核信息处理方法的步骤。
本发明提供的一种SM3算法IP核,借助数据寄存器和运算寄存器实现了SM3算法,且本发明提供的SM3算法IP核的封装接口的形式为ARM的AMBA总线接口规范形式,也即本发明提供的SM3算法IP核可以与BMC的ARM接口相连,而数据寄存器和运算寄存器采用硬件描述语言封装在SM3算法IP核中,也即本发明提供的SM3算法IP核可以以硬件形式集成在BMC中,本发明提供的SM3算法IP核在BMC内部实现了硬件SM3算法,与现有的MD5算法相比,SM3算法的安全程度更高;且SM3算法是以硬件形式在BMC内部运行的,与现有技术中TCM在BMC外部运行相比,硬件SM3算法可以随时被BMC调用,保证了BMC调用SM3算法的稳定性。综上所述,本发明提供的一种SM3算法IP核在一定程度上提高了BMC的安全性。本发明提供的一种SM3算法IP核信息处理方法、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种SM3算法IP核的结构示意图;
图2为现有技术中应用MD5算法的BMC与TCM的结构示意图;
图3为本发明实施例提供的一种SM3算法IP核中封装接口的结构示意图;
图4为本发明实施例提供的一种SM3算法IP核信息处理方法的流程图;
图5为实际应用中ARM标记的SM3算法IP核的工作状态转移图;
图6为本发明实施例提供的一种SM3算法IP核处理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的一种SM3算法IP核的结构示意图。
本发明实施例提供的一种SM3算法IP核,集成于BMC中,可以包括数据寄存器101、运算寄存器102、封装接口103;
数据寄存器101,用于缓存BMC的ARM(Advanced RISC Machine,微处理器)写入的消息块;
运算寄存器102,用于基于SM3算法对消息块进行杂凑运算,并保存杂凑运算结果;
封装接口103,用于与ARM连接,以使ARM与SM3算法IP核进行信息交互;
其中,数据寄存器101及运算寄存器102采用硬件描述语言封装在SM3算法IP核中,封装接口103的形式为ARM的AMBA(Advanced Microcontroller Bus Architecture,片上总线协议)总线接口规范形式。
这里所说的SM3算法是由中国国家密码管理局在2010年发布的一种哈希算法,具体介绍可参阅现有技术,此外,SM3算法的具体运算过程可以根据实际需要确定。实际应用中,数据寄存器、运算寄存器的偏移地址的位数和每一位偏移地址的长度可以根据实际应用中设定的SM3算法中的数据长度确定,但其应满足寄存器的长度大于等于数据长度的规则;假设设定的SM3算法中的数据长度为512bit(比特),则数据寄存器和运算寄存器的长度不得低于512bit。这里所说的硬件描述语言可以为VHDL(Very-High-Speed IntegratedCircuit Hardware Description Language,标准硬件描述语言),也可以为其他硬件描述语言,本发明在这里不做具体限定,借助硬件描述语言可以使得本发明提供的一种SM3算法的运算速度达到200Mbps,而现有技术中TMC的运算速度只有1Mbps,可见,本发明提供的一种SM3算法还在一定程度上提高了SM3算法的运算速度。
本发明提供的一种SM3算法IP核,借助数据寄存器和运算寄存器实现了SM3算法,且本发明提供的SM3算法IP核的封装接口的形式为ARM的AMBA总线接口规范形式,也即本发明提供的SM3算法IP核可以与BMC的ARM接口相连,而数据寄存器和运算寄存器采用硬件描述语言封装在SM3算法IP核中,也即本发明提供的SM3算法IP核可以以硬件形式集成在BMC中,本发明提供的SM3算法IP核在BMC内部实现了硬件SM3算法,与现有的MD5算法相比,SM3算法的安全程度更高;且SM3算法是以硬件形式在BMC内部运行的,与现有技术中TCM在BMC外部运行相比,硬件SM3算法可以随时被BMC调用,保证了BMC调用SM3算法的稳定性。综上所述,本发明提供的一种SM3算法IP核在一定程度上提高了BMC的安全性。
本发明实施例提供的一种SM3算法IP核中,还可以包括长度寄存器;
长度寄存器,用于保存ARM写入的待运算的消息块的总数量;
其中,长度寄存器采用硬件描述语言封装在SM3算法IP核中。
实际应用中,为了让SM3算法IP核预先得知自身将要处理的消息块的数量,还可以在本发明提供的一种SM3算法IP核中添加长度寄存器,长度寄存器用于保存ARM写入的待运算的消息块的总数量,这样SM3算法IP核可以借助长度寄存器、数据寄存器、运算寄存器判断自身是否运算完所有的消息块。假设长度寄存器保存的待运算的消息块的数量为5,而数据寄存器缓存了3个消息块,运算寄存器保存了2个杂凑运算结果,则本次待运算的消息块在SM3算法IP核中的运算情况是:2个消息块已运算完成,1个消息块正在运算中,2个消息块还未开始运算。
本发明实施例提供的一种SM3算法IP核中,还可以包括控制寄存器;
控制寄存器,用于在自身的第0位偏移地址置1时控制SM3算法IP核运算完消息块后产生中断信号,置0时控制SM3算法IP核运算完消息块后不产生中断信号;在消息块有效时将自身的第1位偏移地址置为1,在消息块无效时将第1位偏移地址置为0;在自身的第2位偏移地址接收启动指令后,控制SM3算法IP核进入工作状态;判断出运算寄存器完成对消息块的杂凑运算后将自身的第3位偏移地址置为1,判断出数据寄存器缓存新的消息块后将第3位偏移地址置为0;
其中,控制寄存器采用硬件描述语言封装在SM3算法IP核中。
实际应用中,为了实现外界对SM3算法IP核进行控制或者SM3算法IP核将自身的运算情况告知外界,可以在SM3算法IP核中添加控制寄存器,控制寄存器的作用可参阅本实施例中的相关描述。实际应用中,还可以根据实际需要赋予控制寄存器其他功能,本发明在这里并不做具体限定。
本发明实施例提供的一种SM3算法IP核中,长度寄存器、数据寄存器、运算寄存器及控制寄存器的每一位偏移地址的长度均为32bit。
实际应用中,为了统一对长度寄存器、数据寄存器、运算寄存器及控制寄存器进行管理,可以将这四个寄存器的每一位偏移地址的长度均设为32bit。此外,为了进一步方便对这四个寄存器的管理,还可以将这四个寄存器的偏移地址设为连续的偏移地址,比如将数据寄存器的偏移地址设为0x00-0x0F,将长度寄存器的偏移地址设为0x10,将运算寄存器的偏移地址设为0x11-0x18,将控制寄存器的偏移地址设为0x19;当然,实际应用中,每个寄存器的偏移地址的位置及总长度可以根据实际需要重新调整。
请参阅图3,图3为本发明实施例提供的一种SM3算法IP核中封装接口的结构示意图。
本发明实施例提供的一种SM3算法IP核中,封装接口可以包括:
与ARM的时钟信号源连接的时钟信号输入接口301;
传输ARM输入的复位信号至SM3算法IP核的复位信号输入接口3021;
传输ARM输入的数据至SM3算法IP核的数据输入接口303;
传输ARM输入的目标寄存器的地址总线至SM3算法IP核的地址总线输入接口304;
传输SM3算法IP核发送的杂凑运算结果至ARM的运算结果输出接口305;
传输SM3算法IP核在消息块运算完成后产生的标志信号的标志信号至ARM的输出引脚306。
实际应用中,本发明实施例提供的一种SM3算法IP核中的封装接口的类型可以根据实际需要确定,具体可以参阅本实施例中的相关描述,当然,也可以根据具体应用场景中所需实现的功能在封装接口中添加相对应的接口。应当指出,本发明提供的一种SM3算法IP核中还包括与各个接口对应的模块,比如与时钟信号输入接口对应的时钟信号模块等,这些模块均属于现有技术中的常规模块,相关描述可参阅现有技术。
请参阅图4,图4为本发明实施例提供的一种SM3算法IP核信息处理方法的流程图。
本发明还提供了一种SM3算法IP核信息处理方法,应用于如上任一实施例所描述的SM3算法IP核中,可以包括以下步骤:
步骤S101:数据寄存器缓存BMC的ARM写入的消息块;
步骤S102:运算寄存器基于SM3算法对消息块进行杂凑运算,并保存杂凑运算结果。
本发明实施例提供的一种SM3算法IP核信息处理方法中,数据寄存器缓存BMC的ARM写入的消息块的消息数据之前,还可以包括:
长度寄存器保存ARM写入的待运算的消息块的总数量N;
相应的,数据寄存器缓存BMC的ARM写入的消息块,运算寄存器基于SM3算法对消息块进行杂凑运算,并保存杂凑运算结果,具体可以为:
数据寄存器缓存ARM写入的一个消息块;
运算寄存器基于SM3算法对数据寄存器新缓存的消息块进行杂凑运算,并保存杂凑运算结果;
返回数据寄存器缓存ARM写入的一个消息块的步骤,直至完成对N个消息块的杂凑运算。
实际应用中,ARM可以先将待运算的消息块的总数量写入长度寄存器中,然后ARM每次写入一个待运算的消息块至数据寄存器中,待运算寄存器将数据寄存器新缓存的消息块运算完后,ARM再写入一个待运算的消息块至数据寄存器中,依次类推,直至所有待运算的消息块均完成运算。此外,ARM还可以控制自身将消息块写入至数据寄存器的速度,比如以预设时间间隔写入等。
本发明实施例提供的一种SM3算法IP核信息处理方法中,长度寄存器保存ARM写入的待运算的消息块的总数量之前,还可以包括:
控制寄存器在自身的第2位偏移地址接收到ARM写入的启动指令后,控制SM3算法IP核进入工作状态;
数据寄存器缓存ARM写入的一个消息块之后,运算寄存器基于SM3算法对数据寄存器新缓存的消息块进行杂凑运算之前,还可以包括:
控制寄存器将自身的第3位偏移地址置为0;
运算寄存器基于SM3算法对数据寄存器新缓存的消息块进行杂凑运算,并保存杂凑运算结果之后,返回数据寄存器缓存ARM写入的一个消息块的步骤之前,还包括:
控制寄存器将第3位偏移地址置为1。
实际应用中,ARM可以借助控制寄存器实现对SM3算法IP核的控制,或者借助控制寄存器读取SM3算法IP核的工作状态。具体应用场景中,ARM还可以根据控制寄存器的其他功能实现对SM3算法IP核的进一步控制,比如ARM在将待运算的消息块的总数量写入长度寄存器之前,更改控制寄存器的第0位偏移地址的状态来决定SM3算法IP核是否产生中断信号等。
此外,ARM在应用SM3算法IP核的过程中,还可以对SM3算法IP核的工作状态进行标记,进而方便的得知SM3算法IP核处于哪种工作状态。请参阅图5,图5为实际应用中ARM标记的SM3算法IP核的工作状态转移图。
实际应用中,ARM标记SM3算法IP核的工作状态的过程可以如下:
ARM设置控制寄存器的启动信号,将SM3算法IP核的工作状态标记为等待长度状态;
ARM向长度寄存器写入待运算的消息块的总长度,将SM3算法IP核的工作状态由等待长度状态更改为等待数据状态;
ARM向数据寄存器写入待运算的消息块,将SM3算法IP核的工作状态由等待数据状态更改为初始轮状态;
控制寄存器在判断运算寄存器运算完数据寄存器新缓存的消息块后,将自身的第3位偏移地址设为1,ARM读取到控制寄存器的第3位偏移地址为1后,将SM3算法IP核的工作状态由初始轮状态更改为重复轮状态;
在重复轮状态,SM3算法IP核对ARM写入的每一个消息块进行运算,当SM3算法IP核处理的消息块是ARM写入的最后一个消息块时,ARM将SM3算法IP核的工作状态由重复轮状态更改为最终轮状态;具体应用中,ARM可以通过自身写入的待运算的消息块的总数量及自身已经写入SM3算法IP核中的消息块的数量,来判断SM3算法IP核处理的消息块是否是最后一个消息块等;
ARM在SM3算法IP核运算完最后一个消息块后,将SM3算法IP核的工作状态由最终轮状态更改为完成状态。
本发明还提供了一种SM3算法IP核信息处理设备和计算机可读存储介质,其均具有本发明实施例提供的一种SM3算法IP核具有的对应效果。请参阅图6,图6为本发明实施例提供的一种SM3算法IP核处理设备的结构示意图。
本发明实施例提供的一种SM3算法IP核信息处理设备,可以包括:
存储器201,用于存储计算机程序;
处理器202,用于执行计算机程序时控制寄存器实现如上任一实施例所描述的SM3算法IP核信息处理方法的步骤。
本发明实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时控制寄存器实现如上任一实施例所描述的SM3算法IP核信息处理方法的步骤。
本发明实施例提供的一种SM3算法IP核信息处理方法、设备及计算机可读存储介质中相关部分的说明请参见本发明实施例提供的一种SM3算法IP核中对应部分的详细说明,在此不再赘述。另外,本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种SM3算法IP核,其特征在于,集成于BMC中,包括数据寄存器、运算寄存器、封装接口;
所述数据寄存器,用于缓存所述BMC的ARM写入的消息块;
所述运算寄存器,用于基于SM3算法对所述消息块进行杂凑运算,并保存杂凑运算结果;
所述封装接口,用于与所述ARM连接,以使所述ARM与所述SM3算法IP核进行信息交互;
其中,所述数据寄存器及所述运算寄存器采用硬件描述语言封装在所述SM3算法IP核中,所述封装接口的形式为所述ARM的AMBA总线接口规范形式。
2.根据权利要求1所述的SM3算法IP核,其特征在于,还包括长度寄存器;
所述长度寄存器,用于保存所述ARM写入的待运算的所述消息块的总数量;
其中,所述长度寄存器采用所述硬件描述语言封装在所述SM3算法IP核中。
3.根据权利要求2所述的SM3算法IP核,其特征在于,还包括控制寄存器;
所述控制寄存器,用于在自身的第0位偏移地址置1时控制所述SM3算法IP核运算完所述消息块后产生中断信号,置0时控制所述SM3算法IP核运算完所述消息块后不产生中断信号;在所述消息块有效时将自身的第1位偏移地址置为1,在所述消息块无效时将所述第1位偏移地址置为0;在自身的第2位偏移地址接收启动指令后,控制所述SM3算法IP核进入工作状态;判断出所述运算寄存器完成对所述消息块的杂凑运算后将自身的第3位偏移地址置为1,判断出所述数据寄存器缓存新的所述消息块后将所述第3位偏移地址置为0;
其中,所述控制寄存器采用所述硬件描述语言封装在所述SM3算法IP核中。
4.根据权利要求3所述的SM3算法IP核,其特征在于,所述长度寄存器、所述数据寄存器、所述运算寄存器及所述控制寄存器的每一位偏移地址的长度均为32bit。
5.根据权利要求1至4任一项所述的SM3算法IP核,其特征在于,所述封装接口包括:
与所述ARM的时钟信号源连接的时钟信号输入接口;
传输所述ARM输入的复位信号至所述SM3算法IP核的复位信号输入接口;
传输所述ARM输入的数据至所述SM3算法IP核的数据输入接口;
传输所述ARM输入的目标寄存器的地址总线至所述SM3算法IP核的地址总线输入接口;
传输所述SM3算法IP核发送的所述杂凑运算结果至所述ARM的运算结果输出接口;
传输所述SM3算法IP核在所述消息块运算完成后产生的标志信号的标志信号至所述ARM的输出引脚。
6.一种SM3算法IP核信息处理方法,其特征在于,应用于如权利要求1至5任一项所述的SM3算法IP核中,包括:
数据寄存器缓存BMC的ARM写入的消息块;
运算寄存器基于SM3算法对所述消息块进行杂凑运算,并保存杂凑运算结果。
7.根据权利要求6所述的方法,其特征在于,所述数据寄存器缓存BMC的ARM写入的消息块的消息数据之前,还包括:
长度寄存器保存所述ARM写入的待运算的所述消息块的总数量N;
所述数据寄存器缓存BMC的ARM写入的消息块,所述运算寄存器基于SM3算法对所述消息块进行杂凑运算,并保存杂凑运算结果,包括:
所述数据寄存器缓存所述ARM写入的一个消息块;
所述运算寄存器基于SM3算法对所述数据寄存器新缓存的消息块进行杂凑运算,并保存所述杂凑运算结果;
返回所述数据寄存器缓存所述ARM写入的一个消息块的步骤,直至完成对N个消息块的杂凑运算。
8.根据权利要求7所述的方法,其特征在于,所述长度寄存器保存所述ARM写入的待运算的所述消息块的总数量之前,还包括:
控制寄存器在自身的第2位偏移地址接收到所述ARM写入的启动指令后,控制所述SM3算法IP核进入工作状态;
所述数据寄存器缓存所述ARM写入的一个消息块之后,所述运算寄存器基于SM3算法对所述数据寄存器新缓存的消息块进行杂凑运算之前,还包括:
所述控制寄存器将自身的第3位偏移地址置为0;
所述运算寄存器基于SM3算法对所述数据寄存器新缓存的消息块进行杂凑运算,并保存所述杂凑运算结果之后,所述返回所述数据寄存器缓存所述ARM写入的一个消息块的步骤之前,还包括:
所述控制寄存器将所述第3位偏移地址置为1。
9.一种SM3算法IP核信息处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时控制寄存器实现如权利要求6至8任一项所述的SM3算法IP核信息处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时控制寄存器实现如权利要求6至8任一项所述的SM3算法IP核信息处理方法的步骤。
CN201810385357.4A 2018-04-26 2018-04-26 一种sm3算法ip核及其信息处理方法、设备、介质 Pending CN108632017A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810385357.4A CN108632017A (zh) 2018-04-26 2018-04-26 一种sm3算法ip核及其信息处理方法、设备、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810385357.4A CN108632017A (zh) 2018-04-26 2018-04-26 一种sm3算法ip核及其信息处理方法、设备、介质

Publications (1)

Publication Number Publication Date
CN108632017A true CN108632017A (zh) 2018-10-09

Family

ID=63694667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810385357.4A Pending CN108632017A (zh) 2018-04-26 2018-04-26 一种sm3算法ip核及其信息处理方法、设备、介质

Country Status (1)

Country Link
CN (1) CN108632017A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112217646A (zh) * 2020-10-13 2021-01-12 天津津航计算技术研究所 用于实现sm3密码杂凑算法的装置及方法
CN114816737A (zh) * 2022-04-11 2022-07-29 中国电子科技集团公司第三十研究所 高性能杂凑运算方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228088A (zh) * 2016-08-11 2016-12-14 浪潮电子信息产业股份有限公司 一种基于国产bmc芯片的sm4算法ip核的设计方法
CN106874771A (zh) * 2017-02-16 2017-06-20 浪潮(北京)电子信息产业有限公司 一种构建可信硬件信任链的方法以及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228088A (zh) * 2016-08-11 2016-12-14 浪潮电子信息产业股份有限公司 一种基于国产bmc芯片的sm4算法ip核的设计方法
CN106874771A (zh) * 2017-02-16 2017-06-20 浪潮(北京)电子信息产业有限公司 一种构建可信硬件信任链的方法以及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112217646A (zh) * 2020-10-13 2021-01-12 天津津航计算技术研究所 用于实现sm3密码杂凑算法的装置及方法
CN112217646B (zh) * 2020-10-13 2022-10-28 天津津航计算技术研究所 用于实现sm3密码杂凑算法的装置及方法
CN114816737A (zh) * 2022-04-11 2022-07-29 中国电子科技集团公司第三十研究所 高性能杂凑运算方法、装置、计算机设备及存储介质
CN114816737B (zh) * 2022-04-11 2024-03-22 中国电子科技集团公司第三十研究所 高性能杂凑运算方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
US10078361B2 (en) Methods and apparatus for running and booting an inter-processor communication link between independently operable processors
CN102004709B (zh) 处理器局部总线到高级可扩展接口之间的总线桥及映射方法
CN103049710B (zh) 用于sm2数字签名验证算法的fpga芯片
CN108632017A (zh) 一种sm3算法ip核及其信息处理方法、设备、介质
US9678891B2 (en) Efficient search key controller with standard bus interface, external memory interface, and interlaken lookaside interface
CN103106166B (zh) 一种协议无关、可支持目标读写操作的pcie ip核用户逻辑接口扩展方法
CN106228088A (zh) 一种基于国产bmc芯片的sm4算法ip核的设计方法
CN110519138A (zh) 一种Profibus-DP主站协议的实现方法及系统
CN105573711A (zh) 一种数据缓存方法及装置
CN104391770A (zh) 一种嵌入式数据安全系统用soc芯片的在线调试及上位机通讯模块
CN107357742A (zh) 一种串口模拟方法和计算机设备
US20160011994A1 (en) Multi-processor with efficient search key processing
WO2017071429A1 (zh) 一种数据访问方法及总线
WO2013095464A1 (en) Apparatus and method for memory-hierarchy aware producer-consumer instruction
CN106294225A (zh) 一种数据读取方法、对端设备及控制器
CN208861323U (zh) 一种高速安全加密Micro SD卡
CN105893036A (zh) 一种嵌入式系统的兼容式加速器扩展方法
CN102110066B (zh) 一种税控加密卡的控制方法
CN103166863A (zh) 集总式8x8低延迟高带宽交叉点缓存队列片上路由器
CN107463829A (zh) 一种密码卡中dma请求的处理方法、系统及相关装置
CN105786528B (zh) 一种基于Avalon接口的SM3算法IP核的设计方法
CN105468550B (zh) 一种可实现链表循环的系统及方法
WO2023231330A1 (zh) 一种池化平台的数据处理方法、装置、设备和介质
CN107391406A (zh) 一种用于协议处理的微处理器及处理协议的方法
CN212624019U (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181009