![sha1sum関数はどのように一意のハッシュ値を提供しますか? [閉鎖]](https://linux33.com/image/138955/sha1sum%E9%96%A2%E6%95%B0%E3%81%AF%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E4%B8%80%E6%84%8F%E3%81%AE%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E5%80%A4%E3%82%92%E6%8F%90%E4%BE%9B%E3%81%97%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
sha1sum
このコマンドを使用すると、SHA-1アルゴリズムが実行され、「固有の」結果が出てくるという内容を読みましたが、これはどのように可能ですか?
sha1sum
次のように40文字のハッシュを提供します。
e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e
長さは40文字で16進文字を含むため、ハッシュは最大16〜40の組み合わせを持つことができます。
これは、任意の2つのランダムファイルに対してはいハッシュ合計がまったく同じである可能性は少ない。そうですか?
答え1
他のハッシュと同様に、SHA-1ハッシュは実際には一意ではありません。衝突発見(もっと重要なのは丁寧に作られたということです)。
ハッシュ関数の理想的な属性は、結果のハッシュ値が一意ではなく同じハッシュ値を生成する2つのファイルを構成するのが難しいということです(前述のように、SHA-1とSHA-1は160ビットなので、2160個の異なるハッシュ値しかありません) ))難易度は、無差別検索よりも早く競合が見つからないことを意味します。 1つのファイルを選択すると、ランダムに選択された別のファイルが同じハッシュを持つ可能性は1/2です。 SHA-1は2005年から安全ではないと考えられている;誕生日の攻撃により、与えられた確率は80分の1であることがわかります(確率は、特定のターゲットに対して衝突するファイルを見つける確率ではなく、大きな干し草の山で2つの衝突するファイルを見つける確率です)。