CN105721161B - 一种基于总线的h2-mac消息认证ip核硬件装置 - Google Patents
一种基于总线的h2-mac消息认证ip核硬件装置 Download PDFInfo
- Publication number
- CN105721161B CN105721161B CN201610061043.XA CN201610061043A CN105721161B CN 105721161 B CN105721161 B CN 105721161B CN 201610061043 A CN201610061043 A CN 201610061043A CN 105721161 B CN105721161 B CN 105721161B
- Authority
- CN
- China
- Prior art keywords
- sha
- modules
- module
- abstract
- authentication
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于总线的H2‑MAC消息认证IP核硬件装置,属于网络数据安全领域,该消息认证装置包括:解析模块、MD5密钥模块、padding模块、SHA‑1密钥模块、初始摘要寄存器、中间摘要寄存器、H2‑MAC控制模块、MD5运算模块、SHA‑1运算模块、后封装模块。本发明采用硬件方式实现消息认证,相对软件方式,认证速度更快;同时基于总线方式进行IP核认证,在总线上挂载多个IP核,使得认证速度进一步提高。本发明采用H2‑MAC认证机制,在认证时相比HMAC少一次对认证密钥的查询,简化了硬件设计和查询流程。
Description
技术领域
本发明涉及网络数据安全领域,尤其涉及一种基于总线的H2-MAC(哈希运算消息认证码)消息认证IP(intellectual property,知识产权)核硬件装置。
背景技术
随着互联网的发展与普及,人们的生活变得越来越方便,我们可以通过互联网一键购买实体产品,与社会其他人通讯,在线转账等基本可以覆盖我们的日常生活,但是随之而来的信息安全问题也不容小觑,每时每刻都会产生信息安全问题,导致个人、公司、国家财产安全受到威胁,重要信息被截取篡改。网络安全的威胁主要来自两方面:一方面是被动攻击,攻击者通过截取或者监听方式获取信息;另一方面是主动攻击,攻击者通过冒充、篡改,重放等手段来改变信息,应对被动攻击,主要采用消息加密的方式,而对于主动攻击,我们常用的方式是利用消息认证来验证消息的有效性和合法性。消息认证提供一种证实消息来自可信源并且未被篡改的过程,在信息安全领域,应用广泛。
为了实现消息认证,最普遍的方法是利用哈希函数(如MD5、SHA-1等) 的单向性,即给定长度的消息,返回一个固定长度的独一无二的哈希值,作为“数字签名”。给定消息,产生哈希值很容易,而给定哈希值,要得到消息却很难。
哈希函数中,MD5(Message-Digest Algorithm 5,即信息-摘要算法5),可用于确保信息传输完整一致。而SHA-1(Secure Hash Algorithm,即安全散列算法)会从2~64位元的讯息中产生一串160位元的摘要,然后以MD5等讯息摘要算法为基础来加密。
现有的HMAC(Hash-based Message Authentication Code,基于哈希算法的消息认证码)可以实现这一过程,产生相应的认证摘要。Yasuda于2009 年在ISC上参照HMAC提出了一种新的MAC构造法—H2-MAC。H2-MAC可以将HMAC中查询认证密钥(key)的次数从两次减少到只查询一次,从而降低了密钥的管理成本,提高了认证速度。然而目前市面上H2-MAC认证装置大多采用HMAC—MD5或是HMAC—SHA-1这些单一的硬件装置来实现消息认证,不能灵活地选择认证方式,同时认证速度比较慢。因此有必要提出一种基于总线的H2-MAC消息认证IP核硬件装置,装置内利用新的H2-MAC 构造法,同时设置MD5运算模块和SHA-1运算模块,实现可选择的H2-MAC —MD5或H2-MAC—SHA-1认证,同时将其设计成能挂在总线上的IP核,提高认证速度,减小密钥管理成本。
发明内容
本发明所需要解决的技术问题是克服现有技术的不足,提供一种基于总线的H2-MAC消息认证IP核硬件装置,减少认证密钥的管理成本,实现消息的高速认证。
所述基于总线的H2-MAC消息认证IP核硬件装置,包括解析模块、MD5 密钥模块、padding模块、SHA-1密钥模块、初始摘要寄存器、中间摘要寄存器、 H2-MAC控制模块、MD5运算模块、SHA-1运算模块和后封装模块;
解析模块的输入端即整个装置的输入端,解析模块的输入端接收来自总线的数据,解析模块的输出端同时连接padding(填充)模块、MD5密钥模块和SHA-1 密钥模块的输入端;padding模块和MD5密钥模块的输出端连接MD5运算模块的输入端,padding模块和SHA-1密钥模块的输出端连接SHA-1运算模块的输入端;MD5运算模块接受H2-MAC控制模块的控制进行MD5运算;在第一轮运算中H2-MAC控制模块首先读取初始摘要寄存器的信息传递给MD5运算模块,并将第一轮MD5运算模块的结果存入中间摘要寄存器,在随后的第二轮运算中由 H2-MAC控制模块读取中间摘要寄存器的信息传递给MD5运算模块,最后将MD5 认证运算得到的最终认证摘要传输至后封装模块;SHA-1运算模块接受H2 -MAC控制模块的控制进行SHA-1运算,在第一轮运算中H2-MAC控制模块首先读取初始摘要寄存器的信息传递给SHA-1运算模块,并将第一轮SHA-1运算模块的结果存入中间摘要寄存器,在随后的第二轮运算中由H2-MAC控制模块读取中间摘要寄存器的信息传递给SHA-1运算模块,最后将SHA-1认证运算得到的最终认证摘要传输至后封装模块;中间摘要寄存器的输入端同时连接MD5运算模块和SHA-1运算模块,输出端连接H2-MAC控制模块;H2-MAC控制模块的输入端同时连接初始摘要寄存器和中间摘要寄存器,输出端同时连接MD5运算模块和SHA-1运算模块;后封装模块的输入端同时连接MD5运算模块和SHA-1运算模块的输出端,后封装模块的输出端将含最终认证摘要的数据包要发送至总线;各模块之间通过硬件数据线连接。
所述解析模块包括顺序连接的总线入口模块、字段解析判断模块和三个缓存模块;首先,解析模块通过总线入口模块接收总线数据,总线入口模块通过判断所接收总线数据中的Control控制信息和Addr地址信息是否对应本 IP核来判断本IP核是否被选中,若本IP核没被选中则不进行处理;若本IP 核被选中,则首先通过总线接入模块接收总线数据中的Data数据,并解析 Data数据中的经过上层加密模块的同步数据包,将解析得到的MD5认证秘钥存入第一缓存模块,将解析得到的SHA-1认证密钥存入第三缓存模块;随后,由字段解析判断模块接收总线入口模块处理过的同步数据包并进一步解析同步数据包中的解释域字段,将解析得到的解释域字段存入第二缓存模块;最后,当同步数据包接收完毕后通过判断所接收数据包的长度是否与数据长度帧的数值相对应来确认解析得到的数据报文是否完整;若完整,则本次操作有效;若不完整,则本次操作无效,字段解析判断模块将清空缓存并发出无效信号。
本发明中从总线读取的同步数据包包括:起始字段;数据长度字(帧),解释域字段,认证密钥字段,IP(Internet Protocol,因特网互联协议)数据报文字段,结束字段和数据长度验证字段;其中解释域字段进一步包括:封装模式位、NAT位、协议类型位、技术类型位、传输协议位、加密算法编号位、认证算法位、IV标识位。
解析模块中的总线入口模块,用于提供与总线相匹配的接口。总线入口模块通过Control总线接收相关经总线仲裁器(总线协议内的模块,用于选择总线挂接的IP核)与地址译码器(总线协议内的模块)产生的控制信号, Addr地址总线接受总线主机发送的地址,Data数据总线接收总线传来的Data 数据,控制整个H2-MAC消息认证IP核开始认证消息。
解析模块中的字段解析判断模块,用于解析传入的同步数据包的解释域字段。具体而言,字段解析判断模块首先通过总线接入模块接收总线数据中的Data数据,并解析Data数据中的经过上层加密模块的同步数据包,将解析得到的MD5认证秘钥存入第一缓存模块,将解析得到的SHA-1认证密钥存入第三缓存模块;随后解析同步数据包的起始字段、数据长度字段、解释域字段、数据报文、结束字段、数据长度验证字段,将解析后的信息存入第二缓存模块;最后,当同步数据包接收完毕后通过判断所接收数据包的长度是否与数据长度帧的数值相对应来确认解析得到的数据报文是否完整,并将完整的数据报文发送至后续的模块进行处理。
所述MD5密钥模块,用于在采用MD5认证方式时接收解析模块缓存的 MD5认证密钥,在接收的MD5认证密钥后填充“0”,直至填充后的MD5 认证密钥长度为512bit,存储长度为512bit的MD5认证密钥。
所述padding模块,第一步先判断解析模块传递过来的数据报文的长度,若数据报文的长度对512取模后余数为448则不对数据报文进行处理,否则先在数据报文后补一个“1”;第二步,判断补位后的数据报文长度对512 取模后余数是否为448,若是则不继续对数据报文进行处理,否则在第一步补入的“1”后继续补“0”,直至补位后的数据报文的长度对512取模后余数为448;第三步,补长度字段,将原先的消息长度值增加512bit;第四步,将处理后的数据报文按照所采用的认证方式送入相应的认证运算模块。
所述SHA-1密钥模块,用于在采用SHA-1认证方式时接收解析模块解析出的SHA-1认证密钥,在接收的SHA-1认证密钥后填充“0”,直至填充后的 SHA-1认证密钥长度为512bit,存储长度为512bit的SHA-1认证密钥。
所述初始摘要寄存器,用于存储MD5运算模块和SHA-1运算的链接变量。
所述中间摘要寄存器,用于接收H2-MAC算法中第一轮MD5运算或者 SHA-1运算所产生的链接变量。
所述H2-MAC控制模块,首先判断采用的是MD5运算还是SHA-1运算;若采用MD5运算则首先判断MD5运算模块运算的轮数,若是第一轮MD5 运算则查询初始摘要寄存器,读出链接变量传送至MD5运算模块,在MD5 运算模块完成第一轮MD5运算结束后改变MD5运算轮数为第二轮,并控制 MD5运算模块将第一轮输出的中间摘要进行512bit填充,即在得到的非512bit (128bit、256bit、384bit)中间摘要后面添加“0”,使其长度变为512bit;若是第二轮MD5运算则先传输MD5运算的链接变量以及中间摘要寄存器中的中间摘要至MD5运算模块,之后控制MD5运算模块进行MD5运算,将运算得到的最终认证摘要送入后封装模块,同时改变MD5运算轮数为第一轮;若采用SHA-1运算则首先判断SHA-1运算模块运算的轮数,若是第一轮SHA-1运算则查询初始摘要寄存器,读出链接变量传送至SHA-1运算模块,第一轮SHA-1运算结束后,在SHA-1运算模块完成第一轮SHA-1运算结束后改变 SHA-1运算轮数为第二轮,并控制SHA-1运算模块将第一轮输出的中间摘要进行512bit填充,即在得到的非512bit(128bit、256bit、384bit)中间摘要后面添加“0”,使其长度变为512bit,将填充后的中间摘要存入中间摘要寄存器;若是第二轮SHA-1运算则先传输SHA-1运算的链接变量以及中间摘要寄存器中的中间摘要至SHA-1运算模块,之后控制SHA-1运算模块进行SHA-1运算,将运算得到的最终认证摘要送入后封装模块,同时改变SHA-1运算轮数至第一轮,控制SHA-1运算模块将运算得到的最终认证摘要送入后封装模块。
H2-MAC控制模块是本发明的重点。本模块主要针对现有的消息认证装置不能灵活选择认证方式以及认证速度比较慢的缺陷,由H2-MAC控制模块同时控制MD5运算模块和SHA-1运算模块,实现可选择的H2-MAC—MD5或 H2-MAC—SHA-1认证。同时,本模块连接通用的初始摘要寄存器和中间摘要寄存器来存储认证运算所需要的摘要。这样的设计在简化硬件线路设计的同时也提高了摘要的存储与传输速度,从而提高了消息认证的速度。
所述MD5运算模块,若进行的是第一轮MD5运算,则首先读取MD5密钥模块中的MD5认证密钥,读取初始化摘要模块存储的MD5运算的链接变量,然后以“MD5认证密钥||数据报文||padding模块填充字段”的数据格式进行MD5运算,产生128bit摘要;第二步,在第一轮MD5运算结束后,在第一轮MD5运算产生的中间摘要后补“0”,将第一轮MD5运算产生的中间摘要填充为512bit的长度,将填充过的中间摘要存入中间摘要寄存器;若进行的使第二轮MD5运算,则先读取MD5运算的链接变量以及中间摘要寄存器中的中间摘要,然后查询MD5密钥模块,读取MD5认证密钥,然后以“MD5认证密钥||数据报文||padding模块填充字段”的数据格式进行MD5 认证运算,产生最终认证摘要,最后将MD5运算得到的128bit的最终认证摘要送入后封装模块。
所述SHA-1运算模块,若进行的是第一轮SHA-1运算,则首先读取SHA-1 密钥模块中的SHA-1认证密钥,读取初始化摘要模块存储的SHA-1运算的链接变量,然后以“SHA-1认证密钥||数据报文||padding模块填充字段”的数据格式进行SHA-1运算,产生160bit摘要;第二步,在第一轮SHA-1运算结束后,在第一轮SHA-1运算产生的中间摘要后补“0”,将第一轮SHA-1运算产生的中间摘要填充为512bit的长度,将填充过的中间摘要存入中间摘要寄存器;若进行的使第二轮SHA-1运算,则先读取SHA-1运算的链接变量以及中间摘要寄存器中的中间摘要,然后查询SHA-1密钥模块,读取SHA-1认证密钥,然后以“SHA-1认证密钥||数据报文||padding模块填充字段”的数据格式进行SHA-1认证运算,产生最终认证摘要,最后将SHA-1运算得到的 160bit的最终认证摘要送入后封装模块。
所述后封装模块,由顺序串联的封装模块和总线接口模块组成,其中封装模块同时连接MD5运算模块和SHA-1运算模块,封装模块首先通过解释域字段判断应接收SHA-1运算模块传输来的最终认证摘要还是接收MD5运算模块传输来的最终认证摘要,然后接收最终认证摘要并将最终认证摘要整理为“起始位||解释域帧||认证秘钥||数据报文||最终认证摘要||结束位”的格式,封装模块随后将整理好的最终认证摘要发送给总线接口模块,总线接口模块向总线发出认证数据处理完毕信号,并将整理好的最终认证摘要发送回总线。
后封装模块中的总线接口模块,用于匹配总线的Data数据总线接口, Control控制总线接口和Addr地址总线接口,发出认证数据处理完毕信号,并将封装好的最终认证摘要送回总线。
H2-MAC运算规则具体为:H2-MAC(K,M)=H(IV,H(IV,KEY,M)),这里KEY表示MD5密钥或者SHA-1密钥,IV表示链接变量,M为填充后的新的消息报文, H代表hash函数,包括:MD5和SHA-1运算函数。H2-MAC(K,M)函数表示先将数据报文M、秘钥KEY、初始化向量IV,进行hash函数运算,运算结果再和初始化向量IV进行hash运算。
而传统的认证运算函数HMAC表示为:HMAC(K,M)=H(IV,H(IV,M)),这里这里K表示MD5密钥或者SHA-1密钥,表示逻辑异或,IV表示链接变量,M为填充后的新的消息报文,H代表hash函数,opad表示0x5c重复64 次,ipad表示0x36重复64次。传统的认证运算函数HMAC表示先将数据报文M、秘钥KEY与ipad异或的结果、初始化向量IV三者进行hash函数运算,再将这次运算的结果、初始化向量IV、秘钥KEY与opad异或的结果进行hash运算。
H2-MAC只需一次查询密钥(H(IV,KEY||M)),而传统的HMAC运算需要查询两次密钥(一次为另一次为),因此H2-MAC运算更节约资源,减少成本。
相比现有技术,本发明具有以下有益效果:
本发明通过硬件的方式实现消息认证,相对于传统的软件认证方式而言,本发明所提供的消息认证装置认证速度更快。
本发明中的H2-MAC控制模块同时控制MD5运算模块和SHA-1运算模块,实现可选择的H2-MAC—MD5认证或H2-MAC—SHA-1认证。而不需要像现有的消息认证方式,必须同时设置两套认证系统。这样的设计保证本装置能够在实现灵活的选择H2-MAC—MD5认证方式或H2-MAC—SHA-1认证方式的同时简化装置的硬件设计,也使得消息认证的效率得到提高。
同时,H2-MAC控制模块连接通用的初始摘要寄存器和中间摘要寄存器来存储两种认证运算所需要的摘要。这样的设计在简化硬件线路设计的同时也提高了摘要的存储与传输速度,从而进一步提高了消息认证的速度。
此外,本发明将消息认证装置设计成基于总线的IP核硬件,这样可以同时在总线上挂载多个认证IP核,通过总线上的总裁器查询相应认证IP核的工作状态,实现多个IP核同时进行消息认证。这样的设计,相比与通常所用的软件串行实现的方式,实现了并行地消息认证,大大地提高了认证速度,减小了密钥管理成本。
附图说明
图1为本发明的基于总线的H2-MAC消息认证IP核硬件装置的总体构架图。
图2为本发明的基于总线的H2-MAC消息认证IP核硬件装置中解析模块的具体结构。
图3为本发明的基于总线的H2-MAC消息认证IP核硬件装置中后封装模块的具体结构。
图4为本发明的基于总线的H2-MAC消息认证IP核硬件装置从总线接收的同步数据包格式。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
图1显示了本发明的基于总线的H2-MAC消息认证IP核硬件装置的总体构架图。图中认证IP核主要包括:解析模块、MD5密钥模块、padding模块、SHA-1 密钥模块、初始摘要寄存器、中间摘要寄存器、H2-MAC控制模块、MD5运算模块、SHA-1运算模块、后封装模块。上诉模块具体作用如下:
解析模块,用于接收总线的控制字与数据,其内包括顺序连接的总线入口模块、字段解析判断模块和缓存模块。总线协议内包括总线仲裁器和地址译码器。解析模块中的总线入口模块通过Control总线接收相关经总线仲裁器与地址译码器产生的控制信号,Addr地址总线接受总线主机发送的地址, Data数据总线接收总线传来的Data数据,若总线接入模块所接收总线数据中的Control控制信息和Addr地址信息均对应本IP核则控制整个H2-MAC消息认证IP核开始认证消息。即当本IP核模块被仲裁器选中时,接收总线传输来的同步数据包,通过查询起始字段,判断这是否为一个新的数据包,若起始位和预定义的起始位不一样,则表明该数据包错误,舍弃保存。解析数据长度(帧),接收相应长度的数据,并将长度信息保存。解析解释域字段,主要解析加密算法编号位,判断是采用MD5认证还是SHA-1认证,若采用MD5认证则将MD5认证密钥存入第一缓存模块中,其中MD5认证密钥为128bit,以便发送到后面MD5 密钥模块;若采用SHA-1认证,则将SHA-1认证密钥存入第二缓存模块。其中的 SHA-1认证包括三种长度,分别为SHA-1的256位认证,384位认证,512位认证,他们的SHA-1认证密钥长度分别为256bit、384bit、512bit。将对应的认证密钥发送到后面SHA-1密钥模块。通过比较所接收数据包的长度是否与数据长度 (帧)的数值相同来判断认证密钥是否接收完毕。字段解析判断模块还要解析认证密钥字段,并保存相应的认证密钥长度。解析IP数据报文,通过上面解析的数据长度字段,判断IP数据报文的长度,接收相应长度的数据报文,并将数据报文暂存入第二缓存模块中,以便后面padding模块接收相应长度的数据报文。
MD5密钥模块,用于存储解析模块解析的MD5密钥,在处理认证密钥帧 (即数据报文中由一个或多个32bit组成的认证密钥数据流)时接收128bitMD5 密钥数据,同时将接收到的128bit密钥填充为512bit的密钥。填充的规则为:在128bit密钥后填充384bit“0”作为填充项,保存到相应寄存器中。
Padding模块,通过接收IP(Internet Protocol,因特网互联协议)数据报文的数据长度(帧),判断需要填充的长度,填充字段使之成为要求的长度,具体方式为:1、补位,在数据后补位,保证消息字符串长度对512做取模操作后取余数为448,填充后的消息长度为k,k满足k%512=448。补位字符规则为:在原消息字符后面先补一个“1”,然后后面长度补“0”,使新的消息长度满足对 512做取模操作后取余数为448。当原消息长度为447位时,只需要补一个“1”即可,当原消息为449位时,需要补位511位,补位操作最少一位,最多512位。2、补长度字段,用64位二进制表示原始消息长度,在补长度时由于进入 MD5运算模块或者SHA-1运算模块的秘钥是“认证密钥||数据报文”这样的数据格式,所以计算原消息长度时应加入512bit代表密钥长度。通过补位和补长度字段使传入MD5运算模块或者SHA-1运算模块的数据报文长度为512的整数倍。将补充后的新的数据报文分成512位的消息块,将处理后的数据报文按照所采用的认证方式送入相应的认证运算模块。。
SHA-1密钥模块,用于存储解析模块解析出的SHA-1密钥,在密钥帧时接收 SHA-1密钥数据(256位、384位或512位),同时将接收到的256位的密钥或384 位密钥填充为512bit的密钥,填充的规则为:在密钥后填充相应长度的“0”作为填充项,保存到相应寄存器中。
MD5运算模块,用于完成MD5运算。若进行的是第一轮MD5运算,则首先查询MD5密钥模块,读取密钥,同时读取初始摘要寄存器中的链接变量 (A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210),读取填充后的数据,将它们组成“MD5认证密钥||原始数据报文||padding模块填充字段”这样的数据格式进行MD5运算。
MD5运算过程如下:将组合成的“MD5认证密钥||原始数据报文||padding 模块填充字段”进行分组,每组512bit,分别为M1,M2...M[j]...M15.(假设M[j] 表示消息的第j个子分组(j取值范围为从0到15)),再声明中间变量a、b、c、 d,即将链接变量A、B、C、D分别赋值给a、b、c、d。设置四个非线性函数: F(X,Y,Z)=(X&Y)|((~X)&Z),G(X,Y,Z)=(X&Z)|(Y&(~Z)),H(X,Y,Z)=X^Y^Z,I(X,Y,Z)=Y^(X|(~Z))。其中,&表示与,|表示或,~表示非,^表示异或。如果X、Y和Z的对应位是独立和均匀的,那么结果中的每一位也会是独立和均匀的。将全部15个分组的数据进行16轮FF、GG、HH、II运算,其中FF(a,b,c,d,M[j],s,ti)表示a=b+((a+F(b, c,d)+Mj+ti)<<s)(常数ti是4294967296*abs(sin(i))的整数部分,i取值从1到 64,单位是弧度;s为一个不定的常数),GG(a,b,c,d,M[j],s,ti)表示a=b+((a+ G(b,c,d)+Mj+ti)<<s),HH(a,b,c,d,M[j],s,ti)表示a=b+((a+H(b,c,d)+Mj+ti) <<s),II(a,b,c,d,M[j],s,ti)表示a=b+((a+I(b,c,d)+Mj+ti)<<s)(<<表示左移操作符),产生相应长度的中间摘要。
第一轮MD5运算中的第二步是将产生的中间摘要填充成512bit的长度,填充方式为:在产生的摘要长度后补“0”,直到填充后的摘要长度为512bit。将填充过的中间摘要存入中间摘要寄存器。
若MD5运算模块进行的是第二轮MD5运算,则先读取MD5运算的链接变量以及中间摘要寄存器中的中间摘要,然后查询MD5密钥模块,读取MD5认证密钥,然后以“MD5认证密钥||数据报文||padding模块填充字段”这样的数据格式进行MD5认证运算,运算过程同上。运算结果即最终认证摘要,MD5运算模块将MD5运算得到的128bit的最终认证摘要送入后封装模块。
SHA-1运算模块,用于完成SHA-1运算。若进行的是第一轮SHA-1运算,则首先查询SHA-1密钥模块,读取密钥,同时读取链接变量(H0=0x67452301, H1=0xefcdab89,H2=0x98badcfe,H3=0x10325476,H4=0xc3d2e1f0),读取填充后的数据,将它们组成“SHA-1认证密钥||原始数据报文||padding模块填充字段”这样的数据格式进行SHA-1运算,并产生160bit摘要,将产生的摘要,填充成 512bit的中间摘要,填充方式为:在产生的摘要长度后补“0”,直到填充后的摘要长度为512bit。
进行SHA-1运算前我们先:将填充后“SHA-1认证密钥||原始数据报文 ||padding模块填充字段”这样的数据进行分割。若填充后的数据大于512bit,则分割成多个512bit的字符串,这里用M[i](M[0]、M[1]、M[2]......)表示,若等于512bit,则直接令填充后的数据为M[0]并进行保存。
然后定义运算所需用到的常量及函数如下:
在运算中所要用到80个常量,这一系列常量字K(0)、K(1)、...K(79),将其以十六进制表示为
在运算中所需函数Ft为:
SHA-1具体的运算过程如下:
(1)设置缓冲区:处理上述的二进制字符串需要一些缓冲区,下面我们详细列出各缓冲区及其规格:a.32位的缓冲区5个:A,B,C,D,E;b.32位的缓冲区80个:W[0]~W[79];c.32位的缓冲区5个:H[0]~H[4];d.32位的缓冲区1个:TEMP;首先我们将缓冲区H[]进行初始化赋值:H[0]=0x67452301; H[1]=0xEFCDAB89;H[2]=0x98BADCFE;H[3]=0x10325476;H[4]=0xC3D2E1F0。
(2)针对每个分割成的字符串M[i]进行循环:a.将M[i]从左到右分割为 16个32位的字符串,转换为无符号整数型的数值分别存储在缓冲区 W[0]~W[15]中。b.对于W[16]~W[79],我们进行如下循环:W[i]=S1(W[i-3]XOR W[i-8]XOR W[i-14]XOR W[i-16]),至此,我们的W[]缓冲区已经全部赋值完毕。 c.对缓冲区A,B,C,D,E分别进行赋值:A=H[0];B=H[1];C=H[2];D=H[3];E=H[4]。 d.对于W[0]~W[79],我们再进行如下循环:TEMP=S5(A)+Ft(B,C,D)+E+W[i] +K[i];E=D;D=C;C=S30(B);B=A;A=TEMP;e.我们再对缓冲区H[]进行操作: H[0]=H[0]+A;H[1]=H[1]+B;H[2]=H[2]+C;H[3]=H[3]+D;H[4]=H[4]+E。
(3)如上过程完成所有80个分割后的字符串M[i]的循环后,最终得到的消息摘要为“H[0]||H[1]||H[2]||H[3]||H[4]”这样的格式。此处缓冲区 H[]中的数值全部转换为16进制数用字符串形式表示,其中“H[0]||H[1] ||H[2]||H[3]||H[4]”即为我们最终计算出的消息摘要。
第一轮SHA-1运算中的第二步是在第一轮SHA-1运算结束后,在第一轮 SHA-1运算产生的中间摘要后补“0”,将第一轮MD5运算产生的中间摘要填充为512bit的长度,将填充过的中间摘要存入中间摘要寄存器。
若进行的使第二轮SHA-1运算,则先读取SHA-1运算的链接变量以及中间摘要寄存器中的中间摘要,然后查询SHA-1密钥模块,读取SHA-1认证密钥,然后以“SHA-1认证密钥||数据报文||padding模块填充字段”的数据格式进行SHA-1认证运算,运算过程同上。运算结果即最终认证摘要,SHA-1运算模块将SHA-1运算得到的160bit的最终认证摘要送入后封装模块。
初始摘要寄存器,寄存MD5和SHA-1运算模块所需要的链接变量,对于MD5 运算模块需要的四个链接变量分别为:A=0x01234567,B=0x89abcdef, C=0xfedcba98,D=0x76543210,其中0x表示16进制。对于SHA-1运算模块需要五个链接变量分别为:H0=0x67452301,H1=0xefcdab89,H2=0x98badcfe, H3=0x10325476,H4=0xc3d2e1f0。
中间摘要寄存器,用于寄存H2-MAC运算中第一轮MD5或SHA-1运算所产生的结果,即链接变量。新的消息报文(即“MD5或SHA-1认证密钥||原消息报文||padding模块填充字段”)对应进入MD5或者SHA-1运算模块后,产生相应的中间摘要。其中,MD5运算模块产生128bit中间摘要,而如采用256位SHA-1 运算,则产生256bit中间摘要,384位SHA-1运算产生384bit中间摘要。中间摘要寄存器存储这些中间摘要。
H2-MAC控制模块,用于控制相应运算模块完成H2-MAC运算。H2-MAC控制模块首先判断采用的是MD5运算还是SHA-1运算;若采用MD5运算则首先判断MD5运算模块运算的轮数,若是第一轮MD5运算则查询初始摘要寄存器,读出链接变量传送至MD5运算模块,在MD5运算模块完成第一轮 MD5运算结束后改变MD5运算轮数为第二轮,并控制MD5运算模块将第一轮输出的中间摘要进行512bit填充,即在得到的非512bit(128bit、256bit、384bit) 中间摘要后面添加若干个“0”,使其长度变为512bit,将填充后的中间摘要存入中间摘要寄存器;若是第二轮MD5运算则先传输MD5运算的链接变量以及中间摘要寄存器中的中间摘要至MD5运算模块,之后控制MD5运算模块进行MD5运算,将运算得到的最终认证摘要送入后封装模块,同时改变MD5 运算轮数为第一轮;若采用SHA-1运算则首先判断SHA-1运算模块运算的轮数,若是第一轮SHA-1运算则查询初始摘要寄存器,读出链接变量传送至 SHA-1运算模块,第一轮SHA-1运算结束后,在SHA-1运算模块完成第一轮 SHA-1运算结束后改变SHA-1运算轮数为第二轮,并控制SHA-1运算模块将第一轮输出的中间摘要进行512bit填充,即在得到的非512bit(128bit、256bit、 384bit)中间摘要后面添加若干个“0”,使其长度变为512bit,将填充后的中间摘要存入中间摘要寄存器;若是第二轮SHA-1运算则先传输SHA-1运算的链接变量以及中间摘要寄存器中的中间摘要至SHA-1运算模块,之后控制SHA-1 运算模块进行SHA-1运算,将运算得到的最终认证摘要送入后封装模块,同时改变SHA-1运算轮数至第一轮,控制SHA-1运算模块将运算得到的最终认证摘要送入后封装模块。
后封装模块,由顺序串联的封装模块和总线接口模块组成,其中封装模块同时连接MD5运算模块和SHA-1运算模块,封装模块首先通过解释域字段判断应接收SHA-1运算模块传输来的最终认证摘要还是接收MD5运算模块传输来的最终认证摘要,然后接收最终认证摘要并将最终认证摘要整理为“起始位||解释域帧||认证秘钥||数据报文||最终认证摘要||结束位”的格式,封装模块随后将整理好的最终认证摘要发送给总线接口模块,总线接口模块向总线发出认证数据处理完毕信号,并将整理好的最终认证摘要发送回总线。
图2显示了本发明的基于总线的H2-MAC消息认证IP核硬件装置中解析模块的一种具体结构,如图2所示,该解析模块包括顺序串联的总线接入模块、字段解析判断模块和缓存模块。
总线接入模块,用于匹配总线的各种接口,包括地址线、控制线、数据线等,接收地址、控制信号、数据,并将数据转入字段解析判断模块解析。通过判断所接收总线数据中的Control控制信息和Addr地址信息是否对应本IP核并判断本IP核是否被选中,若本IP核没被选中则不进行处理;若本IP核被选中,则首先通过总线接入模块接收总线数据中的Data数据,并控制整个H2-MAC 消息认证IP核开始认证消息。
字段解析判断模块,用于解析数据包的起始字段、数据长度字段、解释域字段、认证密钥字段、数据报文字段、结束位字段,长度验证字段。具体而言,第一步,若本IP核被选中,则判断起始位是否为预设的起始位,若是则表明数据包接收正确,开始存储数据;如果不符合,接收数据但不存储。当判断起始位正确以后,解析数据长度(帧),根据所指长度,来接收相应长度的数据,通过总线接入模块接收总线数据中的Data数据,并解析Data数据中的经过上层加密模块的同步数据包,将解析得到的MD5认证秘钥存入第一缓存模块,将解析得到的SHA-1认证密钥存入第三缓存模块;第二步,由字段解析判断模块接收总线接入模块处理过的同步数据包并进一步解析同步数据包中的解释域字段,将解析得到的解释域字段存入第二缓存模块。虽然解释域字段包括:封装模式位、NAT位、协议类型位、技术类型位、传输协议位、加密算法编号位、认证算法位、IV标识位、IP数据报文字段、结束字段和数据长度验证字段,但此处只需解析认证算法位,通过解析认证算法位判定认证方式以及密钥长度。例如若判定采用MD5认证,则认定MD5密钥长度为128bit,并在下面解析认证密钥字段的时候将相应长度的MD5认证密钥存入第一缓存模块中,以便发送到后面MD5密钥模块;如若采用SHA-1认证,则可以通过判定确定SHA-1密钥长度为256bit或384bit或512bit中的某一个,在解析认证密钥字段的时候将相应长度的SHA-1认证密钥存入第三缓存模块中,以便发送到后面SHA-1密钥模块。解析IP(Internet Protocol,因特网互联协议)数据报文字段,可以通过计算得出数据报文长度,接收相应长度IP数据报文,并将IP数据报文暂存于第二缓存模块中,以便传输到padding模块中。第三步,解析结束位字段,记录从起始位字段接收数据到结束位字段接收数据长度,当同步数据包接收完毕后通过判断所接收数据包的长度是否与数据长度帧的数值相对应来确认解析得到的数据报文是否完整;若完整,则本次操作有效;若不完整,则本次操作无效,字段解析判断模块将清空缓存并发出无效信号。
缓存模块,用于缓存MD5密钥、SHA-1密钥、IP数据报文,作分流处理。
图3显示了发明的基于总线的H2-MAC消息认证IP核硬件装置中后封装模块的一种具体结构,如图3所示,该后封装模块进一步包括顺序串联的封装模块和总线接口模块。
后封装模块,通过解释域字段判断接收的最终认证摘要是H2-MAC—MD5还是H2-MAC—SHA-1产生的最终认证摘要,并存储。其中,H2-MAC—MD5和H2 -MAC—SHA-1产生的最终认证摘要的长度分别为128bit和160bit。接收过最终认证摘要后,将各数据字段排序,将最终认证摘要封装成“起始位||解释域帧|| 认证密钥||数据报文||最终认证摘要||结束位”的格式,并传递给总线接口模块。
后封装模块中的封装模块同时连接MD5运算模块和SHA-1运算模块,封装模块首先通过解释域字段判断应接收SHA-1运算模块传输来的H2-MAC— SHA-1运算产生的160bit的最终认证摘要还是接收MD5运算模块传输来的H 2-MAC—MD5运算产生的128bit的最终认证摘要,然后接收最终认证摘要并将最终认证摘要整理为“起始位||解释域帧||认证秘钥||数据报文||最终认证摘要||结束位”的格式,封装模块随后将整理好的最终认证摘要发送给总线接口模块,总线接口模块向总线发出认证数据处理完毕信号,并将整理好的最终认证摘要发送回总线。
所述总线接口模块,用于匹配总线的Data数据总线接口,Control控制总线接口,Addr地址总线接口,发出认证数据处理完毕信号,并将封装好的最终认证摘要送回总线。
图4显示了基于总线的H2-MAC消息认证IP核硬件装置从总线接收的同步数据包的格式。如图4所示,从总线接收的同步数据包包括:起始字段,数据长度字段,解释域字段,认证密钥字段,IP数据报文字段,结束字段和数据长度验证字段;其中解释域字段进一步包括:封装模式位、NAT位、协议类型位、技术类型位、传输协议位、加密算法编号位、认证算法位、IV标识位。在本设计中解释域字段只使用加密算法编号位,其余字段使用可参考IPSEC协议,本文不再详述,起始字段、结束字段长度数值可由用户自行定义,如:可使用前8bit数值为 10101010表示起始字段,后24bit表示数据长度。
Claims (1)
1.一种基于总线的H2-MAC消息认证IP核硬件装置,其特征在于,包括解析模块、MD5密钥模块、padding模块、SHA-1密钥模块、初始摘要寄存器、中间摘要寄存器、H2-MAC控制模块、MD5运算模块、SHA-1运算模块和后封装模块;
解析模块的输入端为整个装置的输入端,解析模块的输入端接收来自总线的数据,解析模块输出端同时连接padding模块、MD5密钥模块和SHA-1密钥模块的输入端;padding模块和MD5密钥模块的输出端连接MD5运算模块的输入端,padding模块和SHA-1密钥模块的输出端连接SHA-1运算模块的输入端;MD5运算模块接受H2-MAC控制模块的控制进行MD5运算,在第一轮运算中H2-MAC控制模块首先读取初始摘要寄存器的信息传递给MD5运算模块,并将第一轮MD5运算模块的结果存入中间摘要寄存器,在随后的第二轮运算中由H2-MAC控制模块读取中间摘要寄存器的信息传递给MD5运算模块,最后将MD5认证运算得到的最终认证摘要传输至后封装模块;SHA-1运算模块接受H2-MAC控制模块的控制进行SHA-1运算,在第一轮运算中H2-MAC控制模块首先读取初始摘要寄存器的信息传递给SHA-1运算模块,并将第一轮SHA-1运算模块的结果存入中间摘要寄存器,在随后的第二轮运算中由H2-MAC控制模块读取中间摘要寄存器的信息传递给SHA-1运算模块,最后将SHA-1认证运算得到的最终认证摘要传输至后封装模块;中间摘要寄存器的输入端同时连接MD5运算模块和SHA-1运算模块,输出端连接H2-MAC控制模块;H2-MAC控制模块的输入端同时连接初始摘要寄存器和中间摘要寄存器,输出端同时连接MD5运算模块和SHA-1运算模块;后封装模块的输入端同时连接MD5运算模块和SHA-1运算模块的输出端,后封装模块的输出端将含最终认证摘要的数据包要发送回总线;
所述解析模块包括顺序连接的总线接入模块、字段解析判断模块和三个缓存模块:首先,解析模块通过总线接入模块接收总线数据,总线接入模块通过判断所接收总线数据中的Control控制信息和Addr地址信息是否对应本IP核来判断本IP核是否被选中,若本IP核没被选中则不进行处理;若本IP核被选中,则首先通过总线接入模块接收总线数据中的Data数据,并解析Data数据中的经过上层加密模块的同步数据包,将解析得到的MD5认证秘钥存入第一缓存模块,将解析得到的SHA-1认证密钥存入第三缓存模块;随后,由字段解析判断模块接收总线接入模块处理过的同步数据包并进一步解析同步数据包中的解释域字段,将解析得到的解释域字段存入第二缓存模块;最后,当同步数据包接收完毕后通过判断所接收数据包的长度是否与数据长度帧的数值相对应来确认解析得到的数据报文是否完整;若完整,则本次操作有效;若不完整,则本次操作无效,字段解析判断模块将清空缓存并发出无效信号;
所述MD5密钥模块在数据包采用MD5认证方式时接收解析模块缓存的MD5认证密钥,在接收的MD5认证密钥后填充“0”,直至填充后的MD5认证密钥长度为512bit,存储长度为512bit的MD5认证密钥;
SHA-1密钥模块在数据包采用SHA-1认证方式时接收解析模块解析出的SHA-1认证密钥,在接收的SHA-1认证密钥后填充“0”,直至填充后的SHA-1认证密钥长度为512bit,存储长度为512bit的SHA-1认证密钥;
所述padding模块,第一步先判断解析模块传递过来的数据报文的长度,若数据报文的长度对512取模后余数为448则不对数据报文进行处理,否则先在数据报文后补一个“1”;第二步,判断补位后的数据报文长度对512取模后余数是否为448,若是则不继续对数据报文进行处理,否则在第一步补入的“1”后继续补“0”,直至补位后的数据报文的长度对512取模后余数为448;第三步,补长度字段,将原先的消息长度值增加512bit;第四步,将处理后的数据报文按照所采用的认证方式送入相应的认证运算模块;
所述初始摘要寄存器,用于存储MD5运算模块和SHA-1运算的链接变量;
所述中间摘要寄存器,用于接收H2-MAC算法中第一轮MD5运算或者SHA-1运算所产生的链接变量;
所述H2-MAC控制模块,首先判断采用的是MD5运算还是SHA-1运算;若采用MD5运算则首先判断MD5运算模块运算的轮数,若是第一轮MD5运算则查询初始摘要寄存器,读出链接变量传送至MD5运算模块,在MD5运算模块完成第一轮MD5运算结束后改变MD5运算轮数为第二轮,并控制MD5运算模块将第一轮输出的中间摘要进行512bit填充,即在得到的128bit、256bit或384bit中间摘要后面添加“0”,使其长度变为512bit;若是第二轮MD5运算则先传输MD5运算的链接变量以及中间摘要寄存器中的中间摘要至MD5运算模块,之后控制MD5运算模块进行MD5运算,将运算得到的最终认证摘要送入后封装模块,同时改变MD5运算轮数为第一轮;若采用SHA-1运算则首先判断SHA-1运算模块运算的轮数,若是第一轮SHA-1运算则查询初始摘要寄存器,读出链接变量传送至SHA-1运算模块,在SHA-1运算模块完成第一轮SHA-1运算结束后改变SHA-1运算轮数为第二轮,并控制SHA-1运算模块将第一轮输出的中间摘要进行512bit填充,即在得到的128bit、256bit或384bit中间摘要后面添加“0”,使其长度变为512bit,将填充后的中间摘要存入中间摘要寄存器;若是第二轮SHA-1运算则先传输SHA-1运算的链接变量以及中间摘要寄存器中的中间摘要至SHA-1运算模块,之后控制SHA-1运算模块进行SHA-1运算,将运算得到的最终认证摘要送入后封装模块,同时改变SHA-1运算轮数至第一轮,控制SHA-1运算模块将运算得到的最终认证摘要送入后封装模块;
所述MD5运算模块的运算步骤如下,先判断运算轮数,若进行的是第一轮MD5运算,则首先读取MD5密钥模块中的MD5认证密钥,读取初始化摘要模块存储的MD5运算的链接变量,然后以“MD5认证密钥||数据报文||padding模块填充字段”的数据格式进行MD5运算,产生128bit摘要;第二步,在第一轮MD5运算结束后,在第一轮MD5运算产生的中间摘要后补“0”,将第一轮MD5运算产生的中间摘要填充为512bit的长度,将填充过的中间摘要存入中间摘要寄存器;若进行的是第二轮MD5运算,则先读取MD5运算的链接变量以及中间摘要寄存器中的中间摘要,然后查询MD5密钥模块,读取MD5认证密钥,然后以“MD5认证密钥||数据报文||padding模块填充字段”的数据格式进行MD5认证运算,产生最终认证摘要,最后将MD5运算得到的128bit的最终认证摘要送入后封装模块;
所述SHA-1运算模块的运算步骤如下,先判断运算轮数,若进行的是第一轮SHA-1运算,则首先读取SHA-1密钥模块中的SHA-1认证密钥,读取初始化摘要模块存储的SHA-1运算的链接变量,然后以“SHA-1认证密钥||数据报文||padding模块填充字段”的数据格式进行SHA-1运算,产生160bit摘要;第二步,在第一轮SHA-1运算结束后,在第一轮SHA-1运算产生的中间摘要后补“0”,将第一轮SHA-1运算产生的中间摘要填充为512bit的长度,将填充过的中间摘要存入中间摘要寄存器;若进行的使第二轮SHA-1运算,则先读取SHA-1运算的链接变量以及中间摘要寄存器中的中间摘要,然后查询SHA-1密钥模块,读取SHA-1认证密钥,然后以“SHA-1认证密钥||数据报文||padding模块填充字段”的数据格式进行SHA-1认证运算,产生最终认证摘要,最后将SHA-1运算得到的160bit的最终认证摘要送入后封装模块;
所述后封装模块,由顺序串联的封装模块和总线接口模块组成,其中封装模块同时连接MD5运算模块和SHA-1运算模块,封装模块首先通过解释域字段判断应接收SHA-1运算模块传输来的最终认证摘要还是接收MD5运算模块传输来的最终认证摘要,然后接收最终认证摘要并将最终认证摘要整理为“起始位||解释域帧||认证秘钥||数据报文||最终认证摘要||结束位”的格式,封装模块随后将整理好的最终认证摘要发送给总线接口模块,总线接口模块向总线发出认证数据处理完毕信号,并将整理好的最终认证摘要发送回总线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610061043.XA CN105721161B (zh) | 2016-01-28 | 2016-01-28 | 一种基于总线的h2-mac消息认证ip核硬件装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610061043.XA CN105721161B (zh) | 2016-01-28 | 2016-01-28 | 一种基于总线的h2-mac消息认证ip核硬件装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105721161A CN105721161A (zh) | 2016-06-29 |
CN105721161B true CN105721161B (zh) | 2018-10-23 |
Family
ID=56155264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610061043.XA Active CN105721161B (zh) | 2016-01-28 | 2016-01-28 | 一种基于总线的h2-mac消息认证ip核硬件装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105721161B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107666387A (zh) * | 2016-07-27 | 2018-02-06 | 北京计算机技术及应用研究所 | 低功耗并行哈希计算电路 |
CN107835071B (zh) * | 2017-11-03 | 2020-02-21 | 中国人民解放军国防科技大学 | 一种提高键入-散列法运算速度的方法和装置 |
CN109921908B (zh) * | 2019-02-13 | 2021-09-10 | 北京仁信证科技有限公司 | 一种can总线身份认证方法及身份认证系统 |
CN116775544B (zh) * | 2023-08-23 | 2023-11-28 | 上海芯联芯智能科技有限公司 | 一种协处理器和计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227286A (zh) * | 2008-01-31 | 2008-07-23 | 北京飞天诚信科技有限公司 | 一种生成消息认证码的方法 |
CN101247233A (zh) * | 2008-03-24 | 2008-08-20 | 北京飞天诚信科技有限公司 | 一种生成消息摘要的方法 |
CN102664729A (zh) * | 2012-04-28 | 2012-09-12 | 中山大学 | 一种基于fpga的aes加解密网络通讯装置及其实现方法 |
-
2016
- 2016-01-28 CN CN201610061043.XA patent/CN105721161B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227286A (zh) * | 2008-01-31 | 2008-07-23 | 北京飞天诚信科技有限公司 | 一种生成消息认证码的方法 |
CN101247233A (zh) * | 2008-03-24 | 2008-08-20 | 北京飞天诚信科技有限公司 | 一种生成消息摘要的方法 |
CN102664729A (zh) * | 2012-04-28 | 2012-09-12 | 中山大学 | 一种基于fpga的aes加解密网络通讯装置及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105721161A (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101834840B (zh) | 具有业务可视性的用于端到端网络安全性的高效密钥推导系统、方法及设备 | |
KR101714108B1 (ko) | 검증가능 누출 방지 암호화 및 복호화 | |
US8694778B2 (en) | Enrollment of physically unclonable functions | |
CN105721161B (zh) | 一种基于总线的h2-mac消息认证ip核硬件装置 | |
CN103699920B (zh) | 基于椭圆曲线的射频识别双向认证方法 | |
CN108347419A (zh) | 数据传输方法和装置 | |
CN107678763A (zh) | 基于数字签名技术的电能表升级方法和系统 | |
EP2244416A1 (en) | Encryption processing method and encryption processing device | |
CN110519050B (zh) | 基于量子真随机数交换与黑盒映射的密钥协商方法 | |
CA2630388A1 (en) | Apparatus and method to prevent man in the middle attack | |
JP2001051596A (ja) | データ生成装置およびデータ検証装置ならびにその方法 | |
CN110381055B (zh) | 医疗供应链中的rfid系统隐私保护认证协议方法 | |
US10691619B1 (en) | Combined integrity protection, encryption and authentication | |
CN107395368A (zh) | 无介质环境中的数字签名方法及解密封方法与解密方法 | |
US8117450B2 (en) | System and method for secure data transmission | |
CN102594842A (zh) | 一种基于设备指纹的网管消息认证与加密方案 | |
CN107018155A (zh) | 一种外网终端安全访问内网特定数据的方法和系统 | |
CN109951276B (zh) | 基于tpm的嵌入式设备远程身份认证方法 | |
CN101997835B (zh) | 网络安全通讯方法、数据安全处理装置和用于金融的系统 | |
CN107517194A (zh) | 一种内容分发网络的回源认证方法和装置 | |
US11126567B1 (en) | Combined integrity protection, encryption and authentication | |
CN110383755A (zh) | 网络设备和可信第三方设备 | |
CA2981202C (en) | Hashed data retrieval method | |
CN107835071B (zh) | 一种提高键入-散列法运算速度的方法和装置 | |
CN110198320B (zh) | 一种加密信息传输方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 99 No. 214135 Jiangsu New District of Wuxi City Linghu Avenue Applicant after: Southeast University Address before: 210000 Jiangsu city Nanjing Province four pailou No. 2 Applicant before: Southeast University |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |