ハッシュ関数

Hash function


 ハッシュ関数とは、不定長の入力から固定長のデータを出力するもので、出力から入力のデータを推測できないこと、同じ出力を持つ入力データを容易に作成できないこと、同じ出力データとなる可能性が非常に低いことが要件となっています。

 ハッシュ関数の利用目的はデータの同一性の検証の高速化にあります。例えば1Mバイトのデータが二つあり、これが同じかどうかを検証するときでも、お互いが十分信頼できるハッシュ関数によるハッシュ値を持っていれば、そのたかだか数十バイトを比較するだけで同一性を検証することが可能になります。

 これを応用したのが電子署名です。電子署名に使用される公開鍵暗号方式は非常に低速なので、署名対象ドキュメントを全部暗号化していたのでは遅いうえにサイズも大きくて実用になりません。そこで、ハッシュ関数でハッシュ値を生成し、これを暗号化することでドキュメントの署名としているわけです。



Copyright (C) Keiichiro Oguma / All rights reserved.

tohome.gif (4121 バイト)