




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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:m|e(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版.北京:
9、电子工业出版社,2009:130-180.2 wenbo mao.现代密码学理论与实践m. 王继林,伍前红,译.北京:电子工业出版社,2006:305-330.3 william stallings.密码编码学与网络安全原理与实践m. 孟庆树,王丽娜,傅建明, 译. 4版.北京:电子工业出版社,2006:229-249.4 bruce schneier.应用密码学协议、算法与c语言源程序m. 吴世忠,祝世雄,张文政. 2版. 北京:机械工业出版社, 2010:307-329.5 forouzan b a.cryptography and network security m. 北京:清华大学出版社,2009:200-280.6胡向东,魏琴芳,胡蓉.应用密码学m. 2版.北京:电子工业出版社,2011:166-200.7 forouzan b a. cryptography and network securitym. beijing: tsinghua university press,2009:363-385.8 william stallings
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 24129-2025胶鞋、运动鞋外底不留痕试验方法
- 计算机通信技术试题及答案
- 行政法学研讨会试题及答案分享
- 对火灾应急预案的评价(3篇)
- 儿科火灾应急演练预案(3篇)
- 计算机硬件选型与配置试题及答案
- 2025年企业整合与风险管理的策略探讨及试题及答案
- 2025年软件设计师考试的职业生涯规划试题及答案
- 2025年竞争优势构建与风险管理试题及答案
- 行政管理法律法规试题及答案
- 2023年全国统一高考生物试卷(广东卷)(含答案与解析)
- 2023年《中药商品学》期末考试复习题库(含答案)
- 威努特防火墙配置手册
- 模具工装检具加工申请单
- 南京求真中学新初一分班英语试卷含答案
- 山东省各地市地图课件
- 预见性思维在护理工作中的应用课件
- 新疆维吾尔阿克苏地区2023-2024学年三年级数学第一学期期末学业水平测试试题含答案
- 抚养费一次性付清协议书
- 每日工作流程物业保安主管经理
- STEM教学设计与实施PPT完整全套教学课件
评论
0/150
提交评论