基于Hash函数和三元组密码表加密算法研究.docVIP

基于Hash函数和三元组密码表加密算法研究.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Hash函数和三元组密码表加密算法研究

基于Hash函数和三元组密码表加密算法研究   摘 要:针对网络虚拟财产的安全问题,提出了利用Hash函数和三元组生成加密表的思想,探讨了密码学上的Hash函数的选择方法,研究了基于分组密码CBC工作模式的Hash函数,提出了三元组的抗原像性概念,给出了三元组密码表的结构定义。利用Hash函数的不可逆特性和三元组的离散性,实现了基于Hash函数和三元组的密码表。实验结果及理论证明,该设计思想能够提供安全性较强的密码表,能够有效抵御恶意攻击。   关键词:Hash函数;三元组;密码表;分组密码;加密算法   中图分类号:TP312 文献标识码:A 文章编号2012)011005403   ________________________________________   基金项目:陕西省教育厅项目(2010JK464);陕西理工学院专项科研项目基金(SLG0737)   作者简介:曹记东(1977-),男,硕士,陕西理工学院数学与计算机科学学院讲师,研究方向为数据结构与算法、计算机图形图像处理技术。0 引言   根据奇虎360公司发布的《2011年上半年网络游戏产业安全报告》,2011年上半年网游玩家被盗号的经济损失达8亿元左右。网络游戏安全主要面对三大威胁:盗号木马、钓鱼欺诈网站,以及其它的骗号活动,所占比例分别为63%、28%和9%。因此,网络游戏安全问题已经成为制约网络游戏发展的一大瓶颈。本文采用Hash函数和三元组方法实现的密码表加密算法,是一种不可逆的单向加密方式,能有效地解决网络游戏中的密码安全问题。   1 算法思想   首先,根据用户注册的用户名和密码,形成明文M,然后3次调用Hash函数库,得到Hash函数值Hi(M),最后形成三元组T={H1(M), H2(M), H3(M)},将三元组T保存到网络游戏的数据库服务器中,并返回一份给用户保存或打印。三元组T就是网络游戏中常用的密码表,也是以后登录网络游戏服务器的一种安全验证方法。加   ________________________________________   密过程如图1。   图1 加密过程 图2 登录验证过程   在用户登录网络服务器时,首先进行用户名和密码验证,验证成功后,进入三元组加密验证,要求用户输入密码表中的数据,然后和数据库中的密码表进行进一步验证,这样就能有力地保证登录的用户是合法用户。登录验证过程如图2。   2 Hash函数的选择   Hash函数就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一确定输入值。简单地说,就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。总之,Hash是指用一小段数据来标识容量很大的一段数据,以验证它的完整性。   一般的hash函数选择都需要尽量满足以下3点性质:   (1)抗原像(单向性):对于任意给定的消息,计算其哈希值是容易的。但是对于给定的哈希值h,要找到M,使得h(M)=h在计算上是不可行的。也就是已知y∈Y,要找出x∈X,使得h(x)=y是困难的。   (2)抗二次原像(弱抗碰撞):对于给定的消息M1,要发现另一个消息M2,满足h(M1)=h(M2)在计算上是不可行的。也就是已知x∈X, 找出x′∈X,使得h(x′)=h(x)是困难的。   (3)抗碰撞(强抗碰撞):对于任意的消息M1和M2,使得h(M1)=h(M2)在计算上是不可行的。也就是已知x∈Y,x′∈X,使得h(x)=h(x′)是困难的。   由Hash函数的性质来看,抗原像对于攻击者的求解难度最大,强抗碰撞对于攻击者的求解难度最小。不难证明只要能解决Hash函数的抗原像问题或者抗二次原像问题,就不难解决强抗碰撞问题。   在实际应用中,Hash函数是基于压缩函数的。给定任意长度的消息,Hash函数输出长度为m的散列值(即消息摘要)。根据明文消息分组 Mi,首先第一个压缩函数的输入M1和IV (初始向量),得到压缩数据的输出 CVi-1 (i=1,2,3,…,n),根据该压缩向量进行第二次压缩函数调用,以此类推,最后一个分组的散列值即为整个消息的散列值,即消息摘要MD。其工作模式如图3。   图3 单向Hash函数的工作模式   3 基于分组密码CBC工作模式的Hash函数   利用已有的密码算法构造Hash函数是一种常见而又简单的构造函数。分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档