我正在做一个项目来找到两个不同的句子,它们基于减少的 sha1 散列给出部分冲突。我的程序将生成两条不同的消息。如果两个句子的哈希值的前 32 位匹配,则程序将停止,否则将重复直到检测到冲突。
我的程序运行良好,但是搜索冲突的时间很慢。我怎样才能加快物联网。我阅读并发现我可以使用生日悖论,我该如何实现?
我进行了一些搜索并获得了相关答案,但是我仍然对生日悖论感到困惑。
http://www.metzdowd.com/pipermail/cryptography/2004-August/007409.html
http://www.freelists.org/post/hashcash/Hashcash-and-the-cracking-of-SHA1,2
这就是我的程序的工作方式:
Generate random number() // let say i generate 100 number
Generate random char1() // we will generate 100 char
Hash() // the first 100 char
Generate random char2() // we will generate another 100 char
Hash2() // this 100 char again
Get the 32 bit of the random char1()
Get the 32 bit of the random char2()
compare the 32 bit for partial collision
If they dont match we will keep on doing until partial collision is found.
- 与其他可以以毫秒为单位的程序相比,搜索所花费的时间太长了。