哈希算法原理解析,如何利用哈希函数预测博彩走势一种验证算法的装置及方法与流程

2025-08-31

  哈希算法,SHA256,哈希函数,加密哈希,哈希预测/哈希算法是博彩游戏公平性的核心,本文详细解析 SHA256 哈希函数的运作原理,并提供如何通过哈希技术进行博彩预测的方法!

哈希算法原理解析,如何利用哈希函数预测博彩走势一种验证哈希算法的装置及方法与流程

  导航:X技术最新专利计算;推算;计数设备的制造及其应用技术

  2.哈希(hash)算法是一种广泛应用的摘要算法,其将任意长度的明文通过散列算法得到固定长度的报文摘要。常用的哈希算法有md系列、sha(secure hash algorithm,安全散列算法)系列及以此为基础的hmac(hash-based message authentication code,哈希运算消息认证码)算法。考虑到安全因素,很多soc芯片(系统级芯片)中都集成了算法模块。

  3.哈希算法多数通过软件编程语言实现,在软件方面相对成熟。而在硬件方面,传统的哈希算法验证,是基于verilog hdl语言(一种硬件描述语言)搭建的简单的验证平台,直接根据经过验证的输入输出对数据集,编写激励,采集输出,并与标准输出数据比较来判断是否一致。基于该方法对哈希算法进行验证,效率低,验证所用数据有限,验证不够充分,且覆盖率难以达到要求。

  4.有鉴于此,本发明的目的在于提出一种验证哈希算法的装置及方法,用以解决现有技术中在硬件方面对哈希算法进行验证时验证可靠性差且验证效率低的问题。

  7.功能模型,功能模型与激励发送器连接,功能模型具有用软件编程语言编写的第一哈希算法,并配置用于接收随机数,且将随机数经由第一哈希算法运算得到第一运算结果,并输出第一运算结果;

  8.待测器件,待测器件与激励发送器连接,待测器件具有用硬件描述语言编写的第二哈希算法,并配置用于接收随机数,且将随机数经由第二哈希算法运算得到第二运算结果,并输出第二运算结果;以及

  9.比较器,比较器分别与功能模型和待测器件连接,并配置用于接收第一运算结果和第二运算结果,且将第一运算结果与第二运算结果进行比较,以基于比较结果验证第二哈希算法。

  11.驱动器,驱动器的输入端与激励发送器连接,且其输出端通过总线与待测器件连接,并配置用于接收随机数,并依次将随机数中预设量的随机数通过总线.在一些实施例中,装置还包括:

  13.输入监测器,输入监测器与功能模型连接,并配置用于监测总线上的随机数,且响应于监测到当前预设量的随机数,将当前预设量的随机数发送至功能模型。

  14.在一些实施例中,功能模型进一步配置用于将接收到的当前预设量的随机数经由第一哈希算法运算得到第一子运算结果,并将第一子运算结果发送至比较器。

  15.在一些实施例中,待测器件进一步配置用于将接收到的当前预设量的随机数经由第二哈希算法运算得到第二子运算结果,并输出第二子运算结果。

  17.输出监测器,输出监测器的输入端通过总线与待测器件连接,且其输出端与比较器连接,并配置用于接收第二子运算结果,且将第二子运算结果发送至比较器。

  18.在一些实施例中,比较器进一步配置用于将多对第一子运算结果和第二子运算结果分别进行比较,得到多个比较结果,以基于多个比较结果验证第二哈希算法。

  24.响应于一致性结果的数量大于差异性结果的数量且二者的差值超过预设数值,确认第二哈希算法通过验证。

  25.在一些实施例中,软件编程语言至少包括c语言,硬件描述语言至少包括systemverilog语言。

  26.本发明的另一方面,还提供了一种验证哈希算法的方法,包括以下步骤:

  27.通过功能模型接收激励发送器输出的随机数,并将随机数经由用软件编程语言编写的第一哈希算法运算得到第一运算结果,并将第一运算结果发送至比较器;

  28.通过待测器件接收激励发送器输出的随机数,并将随机数经由用硬件描述语言编写的第二哈希算法运算得到第二运算结果,并将第二运算结果发送至比较器;

  29.通过比较器将接收到的第一运算结果与第二运算结果进行比较,以基于比较结果验证第二哈希算法。

  31.本发明通过采用激励发送器输出大量的随机数来验证待测器件中的哈希算法,保证了验证的充分性,在随机数的数据类型和范围比较广的情况下,还可以使验证的数据覆盖率更高;通过本发明的验证哈希算法的装置,可以实现可靠及有效的验证,并且相比于传统的硬件方面的哈希算法验证方法缩短了验证周期,提高了验证效率。

  32.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

  36.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

  37.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。

  38.基于上述目的,本发明实施例的第一个方面,提出了一种验证哈希算法的装置的实施例。图1示出的是本发明提供的验证哈希算法的装置的实施例的示意图。如图1所示,本发明实施例的验证哈希算法的装置包括:

  40.功能模型20,功能模型20与激励发送器10连接,功能模型20具有用软件编程语言编写的第一哈希算法,并配置用于接收随机数,且将随机数经由第一哈希算法运算得到第一运算结果,并输出第一运算结果;

  41.待测器件30,待测器件30与激励发送器10连接,待测器件30具有用硬件描述语言编写的第二哈希算法,并配置用于接收随机数,且将随机数经由第二哈希算法运算得到第二运算结果,并输出第二运算结果;以及

  42.比较器40,比较器40分别与功能模型20和待测器件30连接,并配置用于接收第一运算结果和第二运算结果,且将第一运算结果与第二运算结果进行比较,以基于比较结果验证第二哈希算法。

  43.本发明实施例通过采用激励发送器10输出大量的随机数来验证待测器件30中的哈希算法,保证了验证的充分性,在随机数的数据类型和范围比较广的情况下,还可以使验证的数据覆盖率更高;通过本发明实施例的验证哈希算法的装置,可以实现可靠及有效的验证,并且相比于传统的硬件方面的哈希算法验证方法缩短了验证周期,提高了验证效率。

  44.本实施例中,随机数可以是任意长度和多种类型的报文数据,还可以在约束范围内随机组合。

  45.图2示出了根据本发明实施例提供的验证哈希算法的装置的结构示意图。如图2所示,本发明实施例采用了基于uvm(universal verification methodology,通用验证方法学)的验证平台开发框架,搭建了易于重复使用的验证环境。

  46.在一些实施例中,装置还包括:驱动器,驱动器的输入端与激励发送器10连接,且其输出端通过总线连接,并配置用于接收随机数,并依次将随机数中预设量的随机数通过总线.本实施例中,通过驱动器(图2中的drv)将激励发送器10(图2中的sequencer或者seqr)输出的随机数按照一定规则进行分段或打包,然后每次将分段或打包的预设量的随机数发送至总线,进而再传输给待测器件30(图2中的dut)。总线为ahb(advanced high-performance bus)总线,其可以作为soc(系统级芯片)的片上系统总线.在一些实施例中,装置还包括:输入监测器,输入监测器与功能模型20连接,并配置用于监测总线上的随机数,且响应于监测到当前预设量的随机数,将当前预设量的随机

  49.在一些实施例中,功能模型20进一步配置用于将接收到的当前预设量的随机数经由第一哈希算法运算得到第一子运算结果,并将第一子运算结果发送至比较器40。

  50.上述实施例中,通过设置输入监测器(图2中in_agent中的mon)监测总线上的数据,并将监测到的预设量的数据发到功能模型20(图2中的model)中,然后功能模型20对相同的预设量的随机数进行运算,可以使得功能模型20和待测器件30中每次计算所使用的随机数相同,保证数据的有序性和运算结果的可靠性。输入监测器还可以在截取时对数据的正确性进行监测。因此,输入监测器可以保证数据的有序性和正确性,避免影响最终的比较结果。

  51.在一些实施例中,待测器件30进一步配置用于将接收到的当前预设量的随机数经由第二哈希算法运算得到第二子运算结果,并输出第二子运算结果。

  52.在一些实施例中,装置还包括:输出监测器,输出监测器的输入端通过总线连接,且其输出端与比较器40连接,并配置用于接收第二子运算结果,且将第二子运算结果发送至比较器40。

  53.本实施例中,输出监测器(图2中out_agent中的mon)用来与输入监测器相配合,待测器件30将当前预设量的随机数经过第二哈希算法运算后,将运算结果发送给输出监测器,输出监测器再传送到比较器40(图2中的scb),从而保证运算的可靠性。

  54.在一些实施例中,比较器40进一步配置用于将多对第一子运算结果和第二子运算结果分别进行比较,得到多个比较结果,以基于多个比较结果验证第二哈希算法。

  55.在一些实施例中,比较器40进一步还配置用于:比较每对第一子运算结果和第二子运算结果是否一致;响应于第一子运算结果和第二子运算结果一致,得到一致性结果;或者响应于第一子运算结果和第二子运算结果不一致,得到差异性结果;分别统计一致性结果和差异性结果的数量;响应于一致性结果的数量大于差异性结果的数量且二者的差值超过预设数值,确认第二哈希算法通过验证。

  56.本实施例中,一致性结果的数量如果远大于差异性结果的数量,则表明第二哈希算法的可靠性更佳。最佳的情况是每对第一子运算结果和第二子运算结果都一致,则此时用硬件描述语言编写的哈希算法达到了与用软件语言编写相同的效果。

  57.如图2所示,本实施例中还设置了多个缓存单元(fifo),用于临时存储数据。

  58.在一些实施例中,软件编程语言至少包括c语言,硬件描述语言至少包括systemverilog语言。

  59.本实施例中,软件编程语言包括但不限于c语言,例如,还可以是c++语言、python语言等。硬件描述语言包括但不限于systemverilog语言。systemverilog语言简称为sv语言,是一种相当新的语言,它建立在verilog语言的基础上,是ieee 1364 verilog-2001标准的扩展增强,兼容verilog2001,将硬件描述语言(hdl)与现代的高层级验证语言(hvl)结合了起来,并新近成为下一代硬件设计和验证的语言。

  60.本发明实施例的第二个方面,还提供了一种验证哈希算法的方法。图3示出的是本发明提供的验证哈希算法的方法的实施例的示意图。如图3所示,一种验证哈希算法的方法包括以下步骤:

  61.步骤s10、通过功能模型接收激励发送器输出的随机数,并将随机数经由用软件编

  程语言编写的第一哈希算法运算得到第一运算结果,并将第一运算结果发送至比较器;

  62.步骤s20、通过待测器件接收激励发送器输出的随机数,并将随机数经由用硬件描述语言编写的第二哈希算法运算得到第二运算结果,并将第二运算结果发送至比较器;

  63.步骤s30、通过比较器将接收到的第一运算结果与第二运算结果进行比较,以基于比较结果验证第二哈希算法。

  64.本发明实施例的验证哈希算法的方法,通过采用激励发送器输出大量的随机数来验证待测器件中的哈希算法,保证了验证的充分性,在随机数的数据类型和范围比较广的情况下,还可以使验证的数据覆盖率更高;并且可以实现可靠及有效的验证,而且相比于传统验证方法缩短了验证周期,提高了验证效率。

  65.最后需要说明的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

  66.结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp和/或任何其它这种配置。

  67.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

  68.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。

  69.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

  1.计算机视觉 2.无线.计算机仿线.网络安全;物联网安全 、大数据安全 2.安全态势感知、舆情分析和控制 3.区块链及应用

地址:广东省广州市天河区88号 客服热线:400-123-4567 传真:+86-123-4567 QQ:1234567890

Copyright © 2012-2025 哈希游戏推荐 版权所有 非商用版本