web-dev-qa-db-ja.com

ハッシュに基づいてハッシュのアルゴリズムはどのように検出されますか?

私は Ars Technicaの記事 を今朝読んでいて、終わりに向かって以下に出くわしました(強調鉱山):

方程式グループには、現時点では不明のままであるさまざまなエクスプロイトに6つのハッシュが含まれていました。 SHA1アルゴリズムによって生成されたように見えます。それらは次のとおりです。

0044c9bfeaac9a51e77b921e3295dcd91ce3956a

06cf1af1d018cf4b0b3e6cfffca3fbb8c4cd362e

3ef06b6fac44a2a3cbf4b8a557495f36c72c4aa6

5b1efb3dbf50e0460bc3d2ea74ed2bebf768f4f7

930d7ed2bdce9b513ebecd3a38041b709f5c2990

e9537a36a035b08121539fd5d5dcda9fb6336423

ハッシュのビットのみに基づいてハッシュを生成するために使用されるアルゴリズムをどのように推定することができますか? (特にSHAアルゴリズムのクラスに関して、暗号的に安全であることを目的としていましたか?)

7
fbrereto

一般的に、出力からハッシュアルゴリズムを推測することはできません。出力は単なるビットのシーケンスであり、n-bit出力を生成するハッシュ関数は、少なくとも理論的にはnのシーケンスを生成できます。出力のビット。

ただし、「通常の」ハッシュ関数の中で160ビットの出力を生成するのは1つだけであり、それがSHA-1であると言うことで、すばやく推論できる人もいます。 (この「通常」の概念は RIPEMD-16 を除外します。これは、SHA-1よりもまれですが、- [〜#〜] pgp [〜#〜]の一部として依然として広く使用されています。 。)


[〜#〜] if [〜#〜]、将来のある時点で、値が見つかりますxSHA-1(x)がこれらのハッシュ値の1つに一致するように、次にSHA-1が実際に関与していたことはかなり確実であり、入力時にはx;他の仮説は、SHA-1のプリイメージの抵抗を打ち破ったことを意味します。これは、私たちの知る限り、(非常に幸運に恵まれない限り)技術的な範囲からは外れています。 ただし、これが完了するまで、 "this is SHA-1"は推測にすぎません。

6
Thomas Pornin

同じ記事で、カスペルスキーがハッシュを使用するコードにアクセスできることが暗示されています。アルゴリズムを知っているのは、それを生成するコードがあるからです。

彼らが知りたいのは、ハッシュが隠しているコードの対象です。

0
Scott McGraw