8.3.3 一方向ハッシュ関数

これは暗号とは違いますが、実際的には先に説明したようにパスワード認証システム にも使われているものです。一方向ハッシュ関数の大事な点は、元を復元することは 絶対に出来ない点です(今のところはという意味ですが)。 最も単純な例は、例えば全ての自然数に対して10で割った余りを考える 事です。この場合、余りは非常に小さな集合なので、多くの自然数が一つの例えば1の 余りを持つことになりますが、ハッシュ関数では結果として得られる値が非常に大きな 集合で、ほとんどの場合同じ値になることはないことが保証されています。そのために、 パスワードから作られる値を覚えておいて、それとユーザからの入力から得られる値を 比較し、同じであったならば正しい入力であると判定することが出来ます。このような 性質のために、一方向ハッシュ関数は、ファイルに改竄がないかどうかをチェックする ためにも使われます。一方向ハッシュ関数として現在使われている代表的なものは、 MD5 (Message Digest 5)や SHA (Secure Hash Algorism)などがあります。 MD5は、FreeBSD やOpenBSDのパスワードシステムにも採用されています。



Noriyo Kanayama