一种硬件快速实现杂凑算法的方法技术

技术编号:3516942 阅读:365 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种硬件快速实现杂凑算法的方法,其硬件部署如下,一、使数据首先经过接口模块,该模块设置一个处理器控制接口和一个数据输入接口;二、使数据填充、数据的收集和处理在数据处理模块中完成,在该模块设置2个数据缓冲器,5个寄存器和对应的S1、S2单元,以及6个数据选择单元;三、使数据适应多种处理器的存储映射模式,设置一个存储映射转换模块。本发明专利技术在保证硬件高速处理输入数据流和输入数据流稳定性的同时尽可能地减少了逻辑门数,减少了集成电路芯片的面积。应用本发明专利技术的杂凑算法集成电路芯片可以作为一款协处理器芯片使用,也可以作为IP核提供给其它的更大的芯片或者FPGA开发板等使用。

【技术实现步骤摘要】

【技术保护点】
一种硬件快速实现杂凑算法的方法,按杂凑算法的流水作业操作顺序将集成电路的硬件进行如下的部署,其特征在于:一、使数据首先经过接口模块,该接口模块设置有一个是处理器的控制接口,连接处理器对各个寄存器进行读写,另外设置一个数据输入接口;   二、使数据填充和数据的收集和处理在数据处理模块中完成,该数据处理模块设置2个数据缓冲器,对与MD5函数,一个缓冲器向处理核输出数据时,另一个缓冲器收集下一个512位数据块,对于SHA-1函数,先由二号缓冲器收集满512位数据,第一轮运 算由二号缓冲器由低到高给出数据,同时一号缓冲器收集这些数据并进行移位,第二轮运算开始由一号缓冲器取特定位置的数据进行计算得到输出到处理核的数据,同时把输出数据作为一号缓冲器的移位输入,另外,在该数据处理模块设置A、B、C、D、E5个寄存器分别代表hash运算中使用的CVR从低到高的五个32位域,在A寄存器与Adder1之间设置一个S2单元,当函数是sha1时其输出是输入的循环左移5位的值,否则直接输出输入数据,在Adder1与Adder2之间引入S1单元,当函数是sha1是直接输出输入数据,否则根据hashcore输入的S进行循环左移再输出,设置一个数据选择器MUX6为Adder2从B和E中选择一个输入数据,当函数是md5时选B,当函数是sha1时选E,同时,在该数据处理模块中设置MUX1、MUX2、MUX3、MUX4、MUX55个数据选择单元,依次对应所述A、B、C、D、E5个寄存器,并分别为对应的寄存器提供下一时钟上升沿所需的数据,所述每个数据选择单元在有写CVR信号时输出所要写的相应数据,在有写OMR信号时输出CVR的初始化数据,除此之 外输出各自的上一时钟沿之后,根据CVR运算所得的数据,当最后的512位数据处理完毕,所述CVR寄存器中的值就是集成电路硬件实现的hash结果,通过所述接口模块中的处理器的控制接口输出;三、使数据适应多种处理器的存储映射模式,设置一个 存储映射转换模块,根据所选hash函数以及OMR中ER寄存器的设置,对写入HU单元中指定寄存器的值和从CVR中读出的值进行big-endian与little-endian之间的相互转换。...

【技术特征摘要】

【专利技术属性】
技术研发人员:周玉洁乔国培陈志敏邓忠红
申请(专利权)人:上海安创信息科技有限公司
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1