[发明专利]适用于SOC的MD5和SHA-1协处理器有效
申请号: | 201310739644.8 | 申请日: | 2013-12-27 |
公开(公告)号: | CN103716150A | 公开(公告)日: | 2014-04-09 |
发明(设计)人: | 宋超;周毅;孙进军;郝鑫;奚谷枫 | 申请(专利权)人: | 无锡紫芯集成电路系统有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 无锡华源专利事务所(普通合伙) 32228 | 代理人: | 林弘毅;聂汉钦 |
地址: | 214028 江苏省无锡市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种适用于SOC的MD5和SHA-1协处理器,包括DIN寄存器、SWAP模块、输入FIFO模块、补位模块、补长度模块、MD5单次运算模块、SHA-1单次运算模块、CR控制器、STR寄存器、IMR寄存器以及摘要存储模块。本发明协处理器可接在APB总线上,在一定程度上增强了协处理器的可复用性。本发明通过合理的复用单次运算模块和调节运算的周期数,使得本发明具有面积小、速度快、功耗低等优点。 | ||
搜索关键词: | 适用于 soc md5 sha 处理器 | ||
【主权项】:
一种适用于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有效。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡紫芯集成电路系统有限公司,未经无锡紫芯集成电路系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310739644.8/,转载请声明来源钻瓜专利网。
- 上一篇:充气轮胎
- 下一篇:多传感器刀具磨损检测装置