哈希游戏平台Hash函数及其专业知识ppt
哈希游戏作为一种新兴的区块链应用,它巧妙地结合了加密技术与娱乐,为玩家提供了全新的体验。万达哈希平台凭借其独特的彩票玩法和创新的哈希算法,公平公正-方便快捷!万达哈希,哈希游戏平台,哈希娱乐,哈希游戏
密码学上的Hash函数是一种将任意长度的消息(message)压缩为某一固定的消息摘要(messagedigest)的函数。
Hash函数除了可用于数字签名之外,还可以用于其它方面,譬如消息的完整性检测,为保证消息的完整性,及时发现消息是否被篡改。可以在消息传输之前先对消息做Hash函数变换,然后对消息进行传输,对于接收到的消息也做Hash变换,将传输前的消息的Hash变换值与接收到的消息的Hash变换值做比较,如果两者相同,则可以认为消息在传输过程中没有被篡改,否则消息一定被非法篡改了。
本章简单介绍Hash函数的基本性质和两个常见的Hash函数——Hash函数MD4和安全Hash算法SHA
Hash函数的输入为任意长度的消息,而其输出为固定长度的消息。一个Hash函数是一个多对一的映射。
定义8.1设H是一个Hash函数,给定一个消息,如果寻找另一个与不同的消息,使得是计算上不可行的,则称H关于消息是弱无碰撞的(weaklycollision-free)。
可以证明,如果一个Hash函数H不是单向的,则H一定不是强无碰撞的,也就是说,如果一个Hash函数H是强无碰撞的,则H一定是单向的。
定义8.2设H是一个Hash函数,如果寻找两个不同的消息和使得在计算上是不可行的,则称H是强无碰撞的(stronglycollision-free)。
定义8.3设H是一个Hash函数,如果对于任意给定的,寻找满足的消息是计算上不可行的,则称H是单向的(oneway)。
设是一个分组长度为n的分组密码的加密算法,密钥为,对于任意消息,首先对进行分组,每组的长度为n。如果的长度不是n的倍数,则在的最后适当添加一些数据使得的长度恰好是n的倍数,在以下的讨论中,我们假设消息的长度都是n的倍数。
基于分组密码的CBC工作模式的Hash函数H如图8.1所示,其构造可以形式化地描述为:首先选取一个初始向量,令;然后计算
基于分组密码的CFB工作模式的Hash函数H如图8.2所示,其构造过程为:首先选取一个初始向量,令然后计算
带密钥的Hash函数常用于产生消息认证码(messageauthenticationcode)。对于通信双方之间传输的任意消息,用带密钥的Hash函数H对做变换,结果作为消息的认证码,附在消息的后面。消息认证码用于保证通信双方之间传输的消息的完整性,使双方确信消息没被第三方篡改或伪造。
(2)令l为的二进制表示。l的长度为64位。如果l的长度不足64位,则在l的左端添0补足。
设表示一个字的4个字节,每个字节为8位。在一个具有big-endian结构的计算机中,这个字表示整数
MD4的设计是以little-endian的结构为基础的。由于消息摘要应该独立于计算机的结构,所以如果要在一个具有big-endian结构的计算机上实现MD4,必须按下述方法完成加法运算。
设为的输入消息,用二进制表示。的长度小于SHA-1的输出的长度为160位,即5个字,每个字32位。
在上述算法中,每次循环处理16个字,循环次数为 最后一次循环结束时,将寄存器 中的值排列在一起即为SHA-1的输出。这就是消息 的长度为160位的消息摘要。