プロが教えるわが家の防犯対策術!

ハッシュ値について。
同じデータからは、必ず同じハッシュ値が求められるが、少しでもデータが異なると違うハッシュ値が算定される、とよく言われますよね。
そこで質問です。
それでは、(たとえば50GB級並みの)巨大ファイル2つがあるとします。この2つのファイルは、99.999…%同一ですが、僅か1ビットだけ、どこか違いがあるとします。こんな場合でも、両者に1ビットでも違いがある以上、ハッシュ値は、必ず異なるものなのでしょうか?
もし、そうであれば、ハッシュ値が一致したデータは、完全に同一のデータと判断していいのでしょうか。
(ちなみに、ここでは、改ざんなど、意図的な行為は一切ない、という前提でお願いします。あくまでHDDをバックアップした際の確認が目的での質問です)

多くの方のご回答、宜しくお願いします。

A 回答 (2件)

誤り検出の確率(信頼性)の問題です。


「僅か1ビットだけ、どこか違いがあるとします。」と言うのは、場所まで規定すれば同一でしょうが、場所が違えば…数が違えば…
100%一致を目指すには、全く同じデーターを違う経路から入手して、全てのビット照合が必要です。

> (たとえば50GB級並みの)巨大ファイル、HDDをバックアップした際の確認が目的
危険ですね。
小さいファイル単位が集合して50GBであれば、損失はファイル単位に分散されます。
HDDバックアップ(容量が大きい)ならば、複数のHDDにバックアップしたほうが安心(ハッシュ確認も含む)です。
書き込み時の正常確認が、長い時間を於いた後の読み出しの正常を補償するものではありませんので。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。参考になりました。ありがとうございます。

お礼日時:2014/03/21 12:17

1ビットの違いなら、違うハッシュになります。



意図的に同じハッシュになるように、数ヶ所を改変すれば、
違うファイルで、同じハッシュができます。

意図的でなければ、その確率をゼロに近くなります。
意図的であれば、インチキハッシュだらけです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。やはりそうでしたか。安心しました。ありがとうございました。

お礼日時:2014/03/21 12:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!