[发明专利]适用于SOC的MD5和SHA-1协处理器有效
申请号: | 201310739644.8 | 申请日: | 2013-12-27 |
公开(公告)号: | CN103716150A | 公开(公告)日: | 2014-04-09 |
发明(设计)人: | 宋超;周毅;孙进军;郝鑫;奚谷枫 | 申请(专利权)人: | 无锡紫芯集成电路系统有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 无锡华源专利事务所(普通合伙) 32228 | 代理人: | 林弘毅;聂汉钦 |
地址: | 214028 江苏省无锡市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 适用于 soc md5 sha 处理器 | ||
技术领域
本发明涉及MD5/SHA-1协处理器,尤其涉及适用于采用ARM核的SOC的MD5/SHA-1协处理器。
背景技术
在当今社会,随着网络信息技术的不断发展,信息安全在各个领域中的应用显得越来越重要。如何保证信息的安全传输,已经成为一个趋势和研究的热点。给明文信息加密使其成为密文信息以保证信息在传输和流通中的可靠性和安全性,俨然,信息加密技术已经成为预防明文信息中的篡改、丢失,保障其安全的一个有效方法。因此,加密算法已经成为密码学中的一个重要方面和组成部分,也是当今社会研究的热点和趋势。
MD5和SHA-1散列算法可以用软件实现,但是随着信息技术的发展,软件实现的缺点显得越发明显。譬如,执行速度慢,容易遭受到病毒攻击。相比而言,用硬件实现MD5和SHA-l就不存在这种情况,所以使研究MD5和SHA-1算法的硬件实现结构成为必然。
发明内容
针对上述问题,申请人经过研究改进,提供一种适用于SOC的MD5和SHA-1协处理器,很好的解决了运算速度、占用面积、功耗三方面的问题。
本发明的技术方案如下:
一种适用于SOC的MD5和SHA-1协处理器,包括DIN寄存器、SWAP模块、输入FIFO模块、补位模块、补长度模块、MD5/SHA-1运算单元、CR控制器、STR寄存器、IMR寄存器以及摘要存储模块;其中MD5/SHA-1运算单元由MD5单次运算模块和SHA-1单次运算模块组成;
所述DIN寄存器与APB总线和SWAP模块相连,位宽为32bit,其接收从APB总线传送的消息明文,随后送入SWAP模块;
所述SWAP模块与DIN寄存器和输入FIFO模块相连,用于进行每比特位、每字节、每半字的置换;
所述输入FIFO模块与SWAP模块和补位模块相连,以先入先出的方式存储SWAP模块置换后的数据,当FIFO存满或者运算到最后一个数据块时,将FIFO中的数据送入补位模块;
所述补位模块与输入FIFO模块和补长度模块相连,当输入数据的比特位数不满足K*512+448时进行补位运算,第一位补1,其余位补零;所述补位运算通过判断FIFO中的数据个数与状态机状态进行,当不需要补位时,所述补位模块不参与运算;
所述补长度模块与补位模块和MD5/SHA-1运算单元相连,在已经进行了补位运算的消息后面,用一个64位的二进制数据来表示原始消息的长度;所述补长度运算通过判断FIFO中的数据个数与状态机状态进行;经过补位和补长度之后形成长度为512比特的整数倍的数据,送入MD5/SHA-1运算单元;
所述MD5单次运算模块,用于进行MD5单次运算,对3个变量B,C,D根据布尔函数做一次逻辑运算,将运算结果加到变量A上;所得的32位值加上消息本身的一个子分组Mj和一个常数ti,循环左移s位;其中每组的常数ti已事先计算得出,以查表方式参与运算;s同样以查表形式得出;
所述SHA-1单次运算模块,用于进行SHA-1单次运算,运算中用到的Kt以查表方式得到,W0~W15是已知明文消息块,W16~W19在每轮运算用到之前,根据迭代运算得到;
所述CR控制器与MD5/SHA-1运算单元和APB总线相连,用于通过APB总线的配置,控制协处理器进行摘要算法选择、协处理器使能、数据类型选择;
所述STR寄存器与MD5/SHA-1运算单元和APB总线相连,是协处理器的状态寄存器,用于反应协处理器当前所处的状态、FIFO空满情况;
所述IMR寄存器与MD5/SHA-1运算单元和APB总线相连,用于通过APB总线的配置,使能协处理器中断;
所述摘要存储模块与MD5/SHA-1运算单元和APB总线相连,用于存储MD5/SHA-1运算单元的运算结果,供APB总线读取;所述摘要存储模块中有H0/H1/H2/H3/H4五个32-bit寄存器,当使用MD5算法时,寄存器H0/H1/H2/H3有效,当使用SHA-1算法时,寄存器H0/H1/H2/H3/H4有效。
本发明的有益技术效果是:
本发明无需软件干预,根据对FIFO和状态机情况的判断,即可自动完成补位、补长度操作,增强了运算的速度和易于操作。
本发明例化了MD5单次运算模块,在每轮运算时采用不同的布尔函数、Mj、ti,以此减少芯片面积,降低功耗。
本发明例化了SHA-1单次运算模块,在每轮运算时采用不同的布尔函数、Kt、Wt,以此减少芯片面积,降低功耗。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡紫芯集成电路系统有限公司,未经无锡紫芯集成电路系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310739644.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:充气轮胎
- 下一篇:多传感器刀具磨损检测装置