关于Hash安全性的一些错误看法

原创 2008年10月02日 03:17:00

网络上流传着很多关于提升Hash加密安全性的方法,其中有一些鄙人不敢苟同,特别拿出来讨论一下。

 

1. 多轮Hash提高安全性

  这么做唯一的用途是将逐次生成-比对破解法的时间成本提高n倍(n为Hash的轮数)。之所以产生这种看法我想是因为很多人认为对于n轮Hash,要破解Hash n首先要破解Hash n-1,要破解Hash n-1,首先要破解Hash n-2……为什么呢?我想不明白,我们可以直接对于要猜解的明文进行n轮Hash,比对最后的结果就可以了:

  1. //从字典中获取一个要破解的明文
  2. Hash = dictionary[x];
  3. //进行n轮Hash
  4. for (int i=0; i<N; i++)
  5.    Hash = MD5(Hash);
  6. if (Hash == HashToCrack)
  7.    ...

 

2.变形Hash(如16Byte, 20Byte的MD5)

  这是一个常识问题,如果16Byte的哈希值可以与32Byte的哈希值有相同的安全性,那么密码学家为什么要浪费你16Byte的空间呢?提出这种看法的人我想主要是因为他们认为可以保证算法的保密性,这犯了密码学中的一个常识错误:密码到安全性应该基于密钥(这里是明文)而非算法的保密性,想一下,破解密码和拿到你源代码(尤其是Web程序)哪个更难?

  这么做只会带来两个结果:

  •  帮助攻击者缩减空间成本
  • 增加碰撞概率(换句话说就是被破解的概率)

3. 加盐(Salt)就一定安全吗?

  加盐确实很安全,几乎也是对抗彩虹表这类高效时空兑换破解法的唯一有效手段。但是这很大程度取决于Salt的强度,因为攻击者可以把明文和Salt分开破解:假设攻击者可以得到Hash结果,那么他可以设置自己的密码,然后通过枚举Salt的值来破解Salt在先,之后再在用常规手段,如彩虹表破解明文:

  1. Passwd = "Congzijie";
  2. Hash = "533dd712f5046e76779fe021e3cbf35a";
  3. for(int i=0; i<len_of_dict; i++) {
  4.    if (MD5(Passwd + Salt_dict[i]) == Hash)
  5.         printf("Salt found : %s", Salt_dict[i]);
  6. }

关于我自己对自己的一些看法

(*^__^*) 嘻嘻……  那就这样开始吧!今天为止,我对程序的看法是,只要不是太狠的条件,基本上功能都能实现,看你是不是去努力,是不是去尝试过,只要多做,就一定就会有进步,不管是多少,你就会比...
  • u010286871
  • u010286871
  • 2014年03月24日 18:46
  • 403

关于大学考试的一点看法

最近学了两门课,叫做计算机网络和编译原理有个老师使用的是英文课件,非常蹩脚,但他又说中文,英文不好的我看不懂课件,所以我感到非常的别扭 编译原理主要是课程太抽象,并且老师没有布置习题,所以会显得特别...
  • qq_23100787
  • qq_23100787
  • 2015年10月20日 01:55
  • 374

关于垃圾回收的一些看法

垃圾回收:GC 最近正好看到一些关于GC的介绍,然后查阅了很多相关知识.所以现在总结一下GC吧1.why? 为什么要有GC这么个东西,从读大学的时候,选课的时候有三门口摆在面前,C# ...
  • Em_dark
  • Em_dark
  • 2017年02月28日 09:58
  • 229

看到的别人的对于跳槽的看法。

最近所在的team也有一个刚毕业不到一年的应届毕业生跳槽了。 今天早上刚到公司,一个员工就对我说,他想离职,他说的已经考虑了好几天了,我看他也是深思熟虑过的。 本来人走人留也很正常,特别是在现在这个...
  • bichenggui
  • bichenggui
  • 2011年04月21日 11:42
  • 2566

关于成功和努力的一些想法

李开复总结《异类-不一样的成功启示录》中成功的公式是“才智+社会环境+机遇+勤奋=成功”,选择大于努力。选择包括:选择去提高自己的层次-修养、能力,选择能够让你占据更多资源的方向。当你努力时,努力的程...
  • suipingsp
  • suipingsp
  • 2014年06月14日 11:07
  • 1300

【感想】关于“加班”的看法

一起走过的都是“光辉岁月”,未来的路依旧“海阔天空”。用家驹的两首歌来感激一下过去,憧憬一下未来。                                                   ...
  • u013047584
  • u013047584
  • 2017年09月24日 19:37
  • 580

谈谈我对P2P网络借贷的一些看法

北漂期间,只知道互联网金融非常火,相关创业公司和项目也非常多。2013年,最火的是余额宝等宝宝类产品。当时的收益率达到了7%,流动性如此高的情况下,竟达到这么高的收益率,我简直不敢相信。另外,当时考虑...
  • FansUnion
  • FansUnion
  • 2014年09月27日 23:53
  • 3405

我对无人驾驶/无人车的看法

我2006年硕士毕业以后就一直从事ADAS相关工作,直到今年2015年,我才发现ADAS在国内一下子火了,尤其是百度展出无人车之后,到网上一查,看看汽车相关的微信,才发现好像一夜间冒出了很多相关的公司...
  • ADAS_LOVER
  • ADAS_LOVER
  • 2016年01月20日 17:06
  • 2035

我对中国资本市场的看法

                                                           我对中国资本市场的看法    从写完毕业论文那段比较清闲的时间开始,自己在证券之星...
  • Shatty
  • Shatty
  • 2007年06月08日 23:00
  • 3997

关于学习和工作的思考

你学剑是为了什么? 学剑shiweile
  • u014100559
  • u014100559
  • 2014年07月11日 22:15
  • 449
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Hash安全性的一些错误看法
举报原因:
原因补充:

(最多只允许输入30个字)