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

新闻资讯

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

HAXIYOUXI-HAXIYOUXIPINGTAI-HAXIYOUXIAPP

加密HASH函数及其应用研究哈希游戏- 哈希游戏平台- 官方网站

作者:小编2025-05-28 14:42:44

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

加密HASH函数及其应用研究哈希游戏- 哈希游戏平台- 哈希游戏官方网站

  1、 加密hash函数及其应用研究 刘翔摘要:hash函数也称散列函数,它是一种单向密码体制,可以将任意长度的输入信息经过变换后得到固定长度的输出。在数据完整性认证、数字签名等领域有广泛的应用,论文介绍了hash函数的基本概念、特性及一般结构,对常用的hash函数进行了对比分析,并对hash函数的应用领域详细进行了研究,对以后的研究工作有一定的作用。关键词:杂凑函数;加密解密;数字签名;消息认证:tn918 :a :1009-3044(2016)10-0054-02hash函数也称杂凑函数或散列函数,通常用来构造数据的短“指纹”。即对任意长度的输

  2、入消息m,经过n次变换后,得到固定长度的输出。hash函数是一种单向密码体制,它是一个从明文到密文的不可逆映射,只有加密过程,不能解密。hash函数的这种单向性特征和输出数据的长度固定的特性使得它可以生成消息或其它数据块的“指纹”,在消息完整性认证、数字签名等领域有着广泛的应用1。1 hash函数概念及安全性要求1.1 hash函数概念2一个hash函数是满足以下要求的四元组(x,y,k,h):1)x代表所有消息的集合;2)y是所有消息指纹的集合;3)k代表所有密钥的有限集;4)h代表加密hash函数;1.2 hash函数的安全性要求31)有数据压缩功能:能将任意长度的输入数据转换成一个固定长

  3、度的输出;2)具有单向性:由h(m)计算消息指纹很容易,反之则不能,即对给定的一个散列值,不可能找出一条消息m的散列值正好相等。3)抗碰撞性:所谓碰撞性是指两个不同的消息m和m ,如果它们的散列值相同,即h(m)=h(m),则发生碰撞。如果mm,则有h(m)h(m),即使m和m差别非常小,甚至只有一个比特的差别,它们的散列值也会有很大的不同(强抗碰撞性);给定消息m和其散列值h(m),要找到另一个与m不同的消息m,使得h(m)=h(m)是不可能的(弱抗碰撞性)。2 hash函数的一般结构安全hash函数一般结构如下

  4、图所示,这是一种迭代结构hash函数,对于输入的报文m,首先将其分为n个固定长度的分组,如果最后一个数据块不满足输入分组的长度要求,可以进行填充4。3 安全hash函数比较安全hash算法(sha)由美国国家标准技术研究所nist开发,作为联邦信息处理标准于1993年发表,1995年修订为sha-1。sha-1基于md4算法,并且在设计方面很大程度上是模仿md4的。后来还新增了sha-256、sha-384和sha-512三个散列算法标准,它们的消息摘要长度分别为256、384和512,以便与aes的使用相匹配,现在最新的是sha-3,以下是各种sha的比较5:4 hash函数的应用4.1 消

  5、息认证消息认证的目的主要有两个:一个是验证信息的来源真实性,即信息来源认证;另一个是验证信息的完整性,即验证信息在公共信道传送或存储过程是否被篡改、重放或延迟等。可以用作认证的函数有消息加密函数、消息认证码(mac)和散列函数三种,而散列函数是一个不需要密钥的公开函数,它将任意长度的输入消息映射成一个固定长度的输出值,度以此值作为认证标识6。hash函数可以将任意长度的输入消息m经过若干次变换,成为固定长度的输出,得到文档的散列值输出,即“消息指纹”可与放在安全地方的原有“指纹”进行比对,如果消息被修改,那么这个两个指纹就不会相等,从而表明此消息被篡改过。这就是保证了数据的完整性,实现消息认证

  6、。ab:me(k,h(m)4.2 数字签名数字签名是一种给以电子形式存储的消息签名方法。并以某种形式将签名“绑”到所签文件上,与传统的手写签名具有同等的效果,并能通过一个公开的验证算法对它进行确认。由于公钥密码学和对称密码学在加密和解密速度上的区别,在数字签名中往往先使用杂凑函数对消息m实施“压缩”运算,接着对消息m的杂凑值实施签名,这样既起到了保密作用,又提高了加密速度。对于在数字签名中使用的杂凑函数,要求它们具有更强的安全性能7。一个使用杂凑函数h(m)的数字签名方案中的合法用户不能找到一对不同的消息(m,m)满足h(m)=h(m),如果能找到这样的消息,那她就可以签

  7、署消息m,后来却宣布她签名的消息是m而不是m。如果找到这样的消息对在计算上是不可行的,那么我们就称它是抗碰撞(collision resistant)的或是碰撞自由(collision free)的。4.3 其他应用杂凑函数在现代密码学中具有非常广泛的用途,比如用于安全存储口令方面。基于hash函数生成口令的散列值,比如在操作系统中保存用户的id和他的口令散列值,而不是口令本身,这有助于提高系统的安全性。当用户进入系统时要求输入口令,这时系统重新计算用户输入口令的散列值并与系统中保存的数值相比较,当等时进入系统,否则将被系统拒绝8。hash函数在入侵检测和病毒扫描方面也有很

  8、好的应用,比如可以为系统中每个文件进行哈希函数运算得到安全的hash值,如果某个文件被非法修改就可以及时发现。5 结论单向散列函数可选的方案比较多,一般有sha、md5和基于分组密码的构造,而其他方案实在没有得到足够的重视和研究,目前比较流行的还是sha,它的散列值比其他的要长,比各种分组密码构造更快9,并且由nsa研制,虽然山东大的王小云团队已在破解sha-1上有很大的突破,但要投入实用还有很长的路要走,并且随着sha-384、sha-512及sha-3的出现,我们坚信sha在密码学上的应用还是有很大的前途。参考文献:1 stinson d r.密码学原理与实践m.冯登国,译. 3版.北京: