联系hashgameCONTACT hashgame
地址:广东省广州市
手机:13988889999
电话:020-88889999
邮箱:admin@qq.com
查看更多
Rhashgamehashgame
你的位置: 首页 > hashgame

HASH GAME - Online Skill Game ET 300《应用密码学》课件第6章 Hash函数(2)ppt

发布时间:2025-01-17 20:10:04  点击量:

  HASH GAME - Online Skill Game GET 300

HASH GAME - Online Skill Game GET 300《应用密码学》课件第6章 Hash函数(2)ppt

  1、12024-3-192024-3-19116.3.2 SHA-1散列算法散列算法 NIST在1993年发布了一个哈希算法称为安全HASH算法,1995年修改,修改后的版本是SHA-1,这个版本是当前使用最广泛的哈希算法。SHA-1接受输入消息输入消息的最大长度为264-1 bits,生成生成160 bits的消息摘要的消息摘要。SHA-1算法操作首先对输入消息划分消息划分为512-bit块,若最后一个数据块不满足长度要求,按照一定规则进行填充填充为512-bit块。然后每个512-bit块重复使用分块处理函数重复使用分块处理函数,最终输出160 bits哈希值。22024-3-192024-3

  3、把第2个分组的前448比特然后用“0”填充,剩下最后64比特填充消息的二进制长度。62024-3-192024-3-1966如果消息长度为480bits呢?72024-3-192024-3-19772024-3-197实际上,在编程的时候应当分为2种情况:(1)消息的最后分组小于448比特,即56个字节,这种情况的填充方式容易理解;(2)消息的最后分组长度大于等于448比特,这种情况会增加一个分组。另外,按照现在计算机的编码方式,消息的长度总是8的整数倍。编程时,先分组再算消息摘要,还是读一组计算一组?文件很大呢?多线程?-内存映射文件的方式82024-3-192024-3-198892024

  5、-bit分块与160-bit初始IV变量作为输入,通过分块处理压缩函数,输出160 bits数据块;然后,第二512-bit分块和第一个分块处理最后输出160-bit数据块作为输入,通过分块处理处理压缩函数,输出160 bits数据块;依次,直到最后一个512-bit子块处理完成,最后输出160 bits数据块为输入原始消息的哈希值,如图所示142024-3-192024-3-4-3-192024-3-4-3-192024-3-191616(1)逻辑函数(?)分块处理中需要使用结构相似的四个基本逻辑函数:f1,f2,f3,f4,每个回合使用不同的逻辑

  13、攻击方法难以进行,增加了其算法安全性。292024-3-192024-3-1929296.3.5 Hash散列算法的应用(略)散列算法的应用(略)Hash算列函数由于其单向性和随机性的特点算列函数由于其单向性和随机性的特点,主要运用于提供数据完整性主要运用于提供数据完整性(包括数包括数字签名、以及与数字签名联系起来的数字指纹的应用字签名、以及与数字签名联系起来的数字指纹的应用)知识证明、密钥推导、伪随机知识证明、密钥推导、伪随机数生成等方面。数生成等方面。1生成程序或文档的生成程序或文档的“数字指纹数字指纹”-完整性验证完整性验证302024-3-192024-3-1930302用于安全存储口

  14、令用于安全存储口令http:/ 散列算法的攻击现状(略)散列算法的攻击现状(略)散列函数主要用于数据完整性验证,确定消息是否被修改,因此对散列函数攻击因此对散列函数攻击的目标是生成这样的修改后的消息:的目标是生成这样的修改后的消息:。322024-3-192024-3-193232 目前,对散列函数的碰撞攻击最重要的平凡攻击是生日攻击。生日攻击的名字起源于所谓的生日悖论,严格来说,。生日攻击方法没有利用Hash函数的结构和任何代数弱性质,它只依赖于消息摘要的长度,即。这种攻击对Hash函数提出了一个必要的安全条件,即消息摘要必须足够的长。6.4.1 生日悖论问题生日悖论问题 生日悖论是这样一个

  15、问题:绝大多数人回答这个问题时候会认为是一个很大的数,事实上是非常小的一个数。为了回答这一问题,下面我们给出计算方法:为了回答这一问题,下面我们给出计算方法:332024-3-192024-3-193333 (1)对于进入房间的第一个人来说,有365个不同的生日;(2)对于第二个进入房间时,有364个与第一个人不是同一天生日的可能,因此不匹配概率为364/365;(3)对于第三个人进入房间时,有363个与前两个人不是一天生日,因此现在不匹配的概率为:363 364365 365 匹配概率为:匹配概率为:363 3641365 365 (4)但k个人进入房间时,不匹配概率的一般公式为:匹配概率为

  16、:匹配概率为:342024-3-192024-3-193434 (5)当k=23时,概率为0.5073,即在23个人中至少有两个人生日相同的概率大于0.5。若k取100,则概率0.9999997,即获得如此大的概率。之所以称这一问题是悖论是因为当人数之所以称这一问题是悖论是因为当人数k给定时,得到的至少有两个人的生日相给定时,得到的至少有两个人的生日相同的概率比想象的要大得多。同的概率比想象的要大得多。这是因为在这是因为在k个人中考虑的是任意两个人的生日是否相同,在个人中考虑的是任意两个人的生日是否相同,在23个人中可能的情个人中可能的情况数为况数为 。223253C 将生日悖论推广:将生日悖论推广:已知一个在1到n之间均匀分布的整数型随机变量,若该变量的k个取值中至少有两个取值相同的概率大于0.5,则k至少多大?352024-3-192024-3-1935356.4.2 生日攻击生日攻击 Yuval生日攻击实例生日攻击实例:假设用户假设用户A采用散列函数作为签名发送给采用散列函数作为签名发送给B,A能够利用能够利用Yuval生日攻生日攻击欺骗击欺骗B,具体过程如下:具体过程如下:(1

【返回列表页】

顶部

地址:广东省广州市  电话:020-88889999 手机:13988889999
Copyright © 2018-2025 哈希游戏(hash game)官方网站 版权所有 非商用版本 ICP备案编: