私は、sha1ハッシュの縮小に基づいて部分的な衝突を与える2つの異なる文を見つけるプロジェクトを行っています。私のプログラムは2つの異なるメッセージを生成します。 2つの文のハッシュの最初の32ビットが一致すると、プログラムは停止し、衝突が検出されるまで繰り返されます。SHA1ハッシュを減らすための部分的な衝突
私のプログラムはうまくいきますが、コリジョンの検索にかかる時間が遅くなります。どうすればスピードアップできますか?私は読んで、私は誕生日のパラドックスを使用できることを知った、どのように私はそれを実装するのですか?
私はいくつかの検索を行い、関連する回答を得ましたが、私はまだ誕生日のパラドックスに混乱しています。
Probability of SHA1 collisions
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.
- 検索にかかる時間が、ミリ秒単位で検出できる他のプログラムと比較して長すぎます。
私が理解するのを助ける、なぜC++タグですか? –