欢迎您访问广东某某机械环保科有限公司网站,公司主营某某机械、某某设备、某某模具等产品!
全国咨询热线: 400-123-4567

新闻资讯

哈希游戏| 哈希游戏平台| 哈希游戏APP

HAXIYOUXI-HAXIYOUXIPINGTAI-HAXIYOUXIAPP

现代密码学-杨波-64安全哈希函数哈希游戏- 游戏平台- 官方网站算法ppt

作者:小编2025-05-31 11:50:14

  哈希游戏- 哈希游戏平台- 哈希游戏官方网站

现代密码学-杨波-64安全哈希函数哈希游戏- 哈希游戏平台- 哈希游戏官方网站算法ppt

  6.4.1算法描述第六章安全哈希算法SHA(SecureHashAlgorithm)由美国NIST设计,于1993年作为联邦信息处理标准(FIPSPUB180)公布。SHA-0是SHA的早期版本,SHA-0被公布后,NIST很快就发现了它的缺陷,修改后的版本称为SHA-1,简称为SHA。SHA是基于MD4算法,其结构与MD4非常类似。算法的输入为小于比特长的任意消息,分为512比特长的分组,输出为160比特长的消息摘要。算法的框图与图6-6一样,但哈希值的长度和链接变量的长度为160比特。

  6.4.1算法描述第六章算法的处理过程有以下几步:(1)对消息填充与MD5的步骤(1)完全相同。(2)附加消息的长度与MD5的步骤(2)类似,不同之处在于以大端方式表示填充前消息的长度。即步骤(1)留出的64比特当作64比特长的无符号整数。(3)对MD缓冲区初始化算法使用160比特长的缓冲区存储中间结果和最终哈希值,缓冲区可表示为五个32比特长的寄存器(A,B,C,D,E),每个寄存器都以大端方式存储数据,其初始值分别为AB=EFCDAB89,C=98BADCFB,DE=C3D2E1F0。

  6.4.1算法描述第六章(4)以分组为单位对消息进行处理每一分组都经一压缩函数处理,压缩函数由4轮处理过程(如图6-9所示)构成,每一轮又由20步迭代组成。4轮处理过程结构一样,但所用的基本逻辑函数不同,分别表示为。每轮的输入为当前处理的消息分组和缓冲区的当前值A、B、C、D、E,输出仍放在缓冲区以替代A、B、C、D、E的旧值,每轮处理过程还需加上一个加法常量,其中表示迭代的步数。80个常量中实际上只有4个不同取值,如表6-所示,其中为x的整数部分。第4轮的输出(即第80步迭代的输出)再与第1轮的输入相加,以产生,其中加法是缓冲区中5个字中的每一个字与中相应的字模相加。

  6.4.2SHA的压缩函数第六章如上所述,SHA的压缩函数由4轮处理过程组成,每轮处理过程又由对缓冲区ABCDE的20步迭代运算组成,每一步迭代运算的形式为(看图6-10):其中A,B,C,D,E为缓冲区的五个字,t是迭代的步数(),是第t步迭代使用的基本逻辑函数,为左循环移s位,是由当前512比特长的分组导出的一个32比特长的字(导出方式见下面),是加法常量,+是模加法。基本逻辑函数的输入为3个32比特的字,输出是一个32比特的字,其中的运算为逐比特逻辑运算,即输出的第n个比特是三个输入的相应比特的函数。

  6.4.3SHA与MD5的比较第六章由于SHA与MD5都是由MD4演化而来,所以两个算法极为相似。(1)抗穷搜索攻击的强度:由于SHA和MD5的消息摘要长度分别为160和128,所以用穷搜索攻击寻找具有给定消息摘要的消息分别需做和次运算,而用穷搜索攻击找出具有相同消息摘要的两个不同消息分别需做和次运算。因此SHA抗击穷搜索攻击的强度高于MD5抗击穷搜索攻击的强度。(2)抗击密码分析攻击的强度:由于SHA的设计准则未被公开,所以它抗击密码分析攻击的强度较难判断,似乎高于MD5的强度。

  6.4.3SHA与MD5的比较第六章(3)速度:由于两个算法的主要运算都是模加法,因此都易于在32位结构上实现。但比较起来SHA的迭代步数(80步)多于MD5的迭代步数(64步),所用的缓冲区(160比特)大于MD5使用的缓冲区(128比特),因此在相同硬件上实现时,SHA的速度慢于MD5的速度。(4)简洁与紧致性:两个算法描述起来都较为简单,实现起来也较为简单,都不需要大的程序和代换表。(5)数据的存储方式:MD5使用小端方式,SHA使用大端方式。两种方式相比看不出哪个更具优势,之所以使用两种不同的存储方式是因为设计者最初实现各自的算法时,使用的机器的存储方式不同。

  6.4.4对SHA的攻击现状第六章2004年,Joux找出了SHA-0的碰撞,他的攻击方法需要次运算。同年Biham等找出了40步的SHA-1的碰撞。2005年,山东大学王小云等提出了对SHA-1的碰撞搜索攻击,该方法用于攻击完全版的SHA-0时,所需的运算次数少于;攻击58步的SHA-1时,所需的运算次数少于。他们还分析指出,用他们的方法攻击70步的SHA-1时,所需的运算次数少于;而攻击80步的SHA-1时,所需的运算次数少于。