一种用于区块链的算法处理模块制造技术

技术编号:16102719 阅读:31 留言:0更新日期:2017-08-29 22:55
本发明专利技术公开了一种用于区块链的算法处理模块,其中,包括:PCIE接口芯片,用于与外部主机的PCIE接口通讯;USB控制芯片,用于与外部主机的USB接口通讯;算法芯片,用于进行与FPGA配合进行ECC运算;FPGA包括:Microblaze模块,用于控制FPGA的各子模块工作;FIFO转RAM接口模块,用于实现USB接口到内部RAM接口转换,从USB芯片中读取数据存储到内部RAM模块中;Local Bus转RAM接口模块,用于进行Local Bus接口到内部RAM模块接口转换;内部RAM模块,存储用户下发数据与准备上传给用户的数据;ECC控制模块,用于进行APB总线转ECC芯片异步接口,调用算法芯片进行点乘和模乘运算;噪声芯片控制模块,用于APB总线转噪声芯片接口;迭代哈希运算模块,用于进行迭代哈希运算,并与算法模块进行并行处理。

【技术实现步骤摘要】
一种用于区块链的算法处理模块
本专利技术属于网络安全
,设计一种基于多层次影响因子的安全漏洞威胁量化方法。
技术介绍
一个区块链是一个基于比特币协议的不需要许可的分布式数据库,它维护了一个持续增长的不可被篡改和修改的数据记录列表,即使对于数据库节点的运营者们也是如此。在区块链技术中需要大量使用迭代哈希算法获得随机数(Nonce)作为工作量证明(POW)并使用签名验签(ECDSA)、非对称加解密(ECIES)等算法对区块进行交互,而计算的速度成为制约区块链技术发展与普及的关键瓶颈。由于目前计算机CPU在计算迭代哈希时存在先天劣势,所以需要设计一款用于处理区块链计算问题的硬件板卡。
技术实现思路
本专利技术的目的在于提供一种用于区块链的算法处理模块,用于解决上述现有技术的问题。本专利技术一种用于区块链的算法处理模块,其中,包括:FPGA、算法芯片、PCIE接口芯片以及USB控制芯片;PCIE接口芯片,用于与外部主机的PCIE接口通讯;USB控制芯片,用于与外部主机的USB接口通讯;算法芯片,用于进行与FPGA配合进行ECC运算;FPGA包括:Microblaze模块、FIFO转RAM接口模块、LocalBus转RAM接口模块、内部RAM模块、ECC控制模块、噪声芯片控制模块以及迭代哈希运算模块;Microblaze模块,用于控制FPGA的各子模块工作;FIFO转RAM接口模块,用于实现USB接口到内部RAM接口转换,从USB芯片中读取数据存储到内部RAM模块中;LocalBus转RAM接口模块,用于进行LocalBus接口到内部RAM模块接口转换;内部RAM模块,存储用户下发数据与准备上传给用户的数据;ECC控制模块,用于进行APB总线转ECC芯片异步接口,调用算法芯片进行点乘和模乘运算;噪声芯片控制模块,用于APB总线转噪声芯片接口;迭代哈希运算模块,用于进行迭代哈希运算,并与算法模块进行并行处理。根据本专利技术的用于区块链的算法处理模块的一实施例,其中,迭代哈希运算模块包括:控制器,用于实现AXI和APB接口和计算流程控制;SRAM,用于存储读入的消息;填充模块,用于进行消息的填充;SHA256模块,用于进行SHA-256算法的计算;输出模块用于进行杂凑值与目标值的比较。根据本专利技术的用于区块链的算法处理模块的一实施例,其中,迭代哈希运算模块计算过程包括:哈希算法输入数据按字节对齐;计算结果是64比特的二进制表示,由0递增,每次加1;数据与N拼接后作为消息进行SHA256计算,得到的结果作为消息再次进行SHA256计算,得到的结果与目标值比较。根据本专利技术的用于区块链的算法处理模块的一实施例,其中,,FPGA和算法芯片的工作包括:迭代哈希运算、签名、验签、加密和解密运算;Microblaze模块分析指令要求,并按照不同指令进行如下操作:迭代哈希运算包括:FPGA将需要处理的数据进行哈希运算,然后将哈希结果与目标值送入迭代哈希运算模块并开始运算,FPGA将结果写入内部RAM;签名运算包括:FPGA将需要处理的数据进行哈希运算,然后将哈希结果与私钥和随机数送入算法芯片,并操作算法芯片进行ECC运算,最后将签名结果写入内部RAM;验签运算包括:FPGA将需要处理的数据进行哈希运算,然后将哈希结果与公钥和签名送入算法芯片,并操作算法芯片进行ECC运算,最后将验签结果写入RAM。根据本专利技术的用于区块链的算法处理模块的一实施例,其中,还包括:FPGA还包括:AXI-AXI桥,用于100MHz到66MHz的AXI跨时钟域转换。根据本专利技术的用于区块链的算法处理模块的一实施例,其中,FPGA包括PLL模块,用于输入66MHz,输出33MHz、输出100MHz和输出66MHz。根据本专利技术的用于区块链的算法处理模块的一实施例,其中,FPGA型号为Kintex-7系列FPGA。根据本专利技术的用于区块链的算法处理模块的一实施例,其中,算法芯片的型号为ISECMM1256E。根据本专利技术的用于区块链的算法处理模块的一实施例,其中,PCIE接口型号为PEX8311芯片。根据本专利技术的用于区块链的算法处理模块的一实施例,其中,USB控制芯片型号选用CY7C68013A。本专利技术的用于区块链的算法处理模块可以满足迭代哈希、哈希、签名验签、非对称加解密等算法的运算需求,计算速度可达计算机软件的30倍以上。附图说明图1所示为本专利技术用于区块链的算法处理模块的模块图;图2所示为FPGA设计架构图;图3所示为迭代哈希运算模块的模块图。具体实施方式为使本专利技术的目的、内容、和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。图1所示为本专利技术用于区块链的算法处理模块的模块图,如图1所示,用于区块链的算法处理模块包括:FPGA1、算法芯片2、PCIE接口芯片4、USB控制芯片3、USB接口6、PCIE接口5、时钟芯片、电源(未图示)等组成。迭代哈希和哈希算法通过FPGA1的IP核实现,ECC运算(签名验签、非对称加解密)则通过FPGA1和算法芯片2配合实现。如图1所示,算法处理板通过通信接口从PC7(主机)获取数据,然后将数据缓存在FPGA1中的接收缓存区,FPGA1内部集成微处理器(Microblaze),解析数据帧的类型,根据不同类型采取不同算法对数据进行处理,处理完成后的数据存储到FPGA1的发送缓冲区,通过原通信接口返回给主机7。图2所示为FPGA设计架构图,如图2所示,FPGA1是本专利技术中最主要的部分,主要包含以下功能模块:PLL模块11:输入66MHz,输出33MHz用于USBFIFO转RAM接口模块13,输出100MHz用于哈希运算模块18,输出66MHz用于其他模块。Microblaze模块12:Xilinx内嵌处理器,运行板卡固件程序,调用各部件完成任务的高效率调度。FIFO转RAM接口模块13:工作时钟33MHz,实现USB接口到内部RAM接口转换,从USB芯片中读取数据存储到内部AXIRAM中,采用查询flag标志的方式,flag可以表示USBFIFO中的空满状态。LocalBus转RAM接口模块14:工作时钟66MHz,实现PEX8311LocalBus接口到内部RAM接口转换,PEX8311作为主设备,FPGA作为从设备,实现PEX8311对FPGA内部AXIRAM的读写访问,采用中断方式。AXIRAM15:AXIRAM分为四块,存储用户下发数据与准备上传给用户的数据,采用多缓冲乒乓操作方式用以提高传输速度,最终提高板卡的计算速度。ECC控制模块16:实现APB转ECC芯片异步接口,调用外部算法芯片进行点乘、模乘等运算。噪声芯片控制模块17:用于APB转噪声芯片接口,控制逻辑实现从随机数芯片读取数据并写入FIFO中,APB接口逻辑实现外部从FIFO中读取噪声数据。AXI-AXI桥20:实现100MHz到66MHz的AXI跨时钟域转换。迭代哈希运算模块18:由于在区块链运算中迭代哈希所花费的时间最长,于是在本专利技术中设计了单独的迭代哈希运算模块18,使迭代哈希可以与ECC算法并行处理,提高了板卡的效率。图3所示为迭代哈希运算模块的模块图,如图3所示,图中控制器(controller)实现AXI、APB接口和计算流程控本文档来自技高网...
一种用于区块链的算法处理模块

【技术保护点】
一种用于区块链的算法处理模块,其特征在于,包括:FPGA、算法芯片、PCIE接口芯片以及USB控制芯片;PCIE接口芯片,用于与外部主机的PCIE接口通讯;USB控制芯片,用于与外部主机的USB接口通讯;算法芯片,用于进行与FPGA配合进行ECC运算;FPGA包括:Microblaze模块、FIFO转RAM接口模块、Local Bus转RAM接口模块、内部RAM模块、ECC控制模块、噪声芯片控制模块以及迭代哈希运算模块;Microblaze模块,用于控制FPGA的各子模块工作;FIFO转RAM接口模块,用于实现USB接口到内部RAM接口转换,从USB芯片中读取数据存储到内部RAM模块中;Local Bus转RAM接口模块,用于进行Local Bus接口到内部RAM模块接口转换;内部RAM模块,存储用户下发数据与准备上传给用户的数据;ECC控制模块,用于进行APB总线转ECC芯片异步接口,调用算法芯片进行点乘和模乘运算;噪声芯片控制模块,用于APB总线转噪声芯片接口;迭代哈希运算模块,用于进行迭代哈希运算,并与算法模块进行并行处理。

【技术特征摘要】
1.一种用于区块链的算法处理模块,其特征在于,包括:FPGA、算法芯片、PCIE接口芯片以及USB控制芯片;PCIE接口芯片,用于与外部主机的PCIE接口通讯;USB控制芯片,用于与外部主机的USB接口通讯;算法芯片,用于进行与FPGA配合进行ECC运算;FPGA包括:Microblaze模块、FIFO转RAM接口模块、LocalBus转RAM接口模块、内部RAM模块、ECC控制模块、噪声芯片控制模块以及迭代哈希运算模块;Microblaze模块,用于控制FPGA的各子模块工作;FIFO转RAM接口模块,用于实现USB接口到内部RAM接口转换,从USB芯片中读取数据存储到内部RAM模块中;LocalBus转RAM接口模块,用于进行LocalBus接口到内部RAM模块接口转换;内部RAM模块,存储用户下发数据与准备上传给用户的数据;ECC控制模块,用于进行APB总线转ECC芯片异步接口,调用算法芯片进行点乘和模乘运算;噪声芯片控制模块,用于APB总线转噪声芯片接口;迭代哈希运算模块,用于进行迭代哈希运算,并与算法模块进行并行处理。2.如权利要求1所述的用于区块链的算法处理模块,其特征在于,迭代哈希运算模块包括:控制器,用于实现AXI和APB接口和计算流程控制;SRAM,用于存储读入的消息;填充模块,用于进行消息的填充;SHA256模块,用于进行SHA-256算法的计算;输出模块用于进行杂凑值与目标值的比较。3.如权利要求1所述的用于区块链的算法处理模块,其特征在于,迭代哈希运算模块计算过程包括:哈希算法输入数据按字节对齐;计算结果是64比特的二进制表示,由0递增,每次加1;数据与N拼接后作为消息进行SHA25...

【专利技术属性】
技术研发人员:赵暾徐浩然许静雯邓超
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:北京,11

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

1