next up previous contents
Next: 7.1.3.4 Prety Good Privacy(PGP) Up: 7.1.3 認証システム Previous: 7.1.3.2 DES

7.1.3.3 一方向ハッシュ関数

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



Noriyo Kanayama