argius note

プログラミング関連

MD5ハッシュ値の衝突

ハッシュ値は、異なるデータから算出された場合、まったく異なる値が得られることが前提となっているためである。

PS3とMD5ハッシュ値衝突の脆弱性との"危険な"関係 - SHA-2を代替関数に | マイナビニュース

異なる値が得られるのも重要だけど、この場合は、「意図的に同じハッシュ値を得るのが非常に困難」なことのほうが重要だよね? わざわざ指摘するようなことでもないのかな。
256ビットのハッシュ関数だったら、数MBのファイルの要約を、たかだか256ビットの情報で表すのだから、組み合わせ上は同じ値が存在することはありえる。しかし、あるデータと同じハッシュ値を得ることができる別のデータを見つけるのが困難だ。これを一方向性という。RSA暗号方式は、物凄く大きな合成数の素因数分解が困難であることを利用した暗号。合成数を算出するのは比較的容易だが、素因数分解する方はスパコンで数千年かかるとか言われている。