一方向暗号(ハッシュ関数)
■チェック用語
・一方向関数(One-Way Function)
初期値から結果を算出することは容易な反面、結果から初期値を算出
することは極めて困難な性質を持った関数のことです。
2つの素数があり、その積を求めることは容易でも、積から2つの素数
を求めることは困難という特徴を応用して、素因数分解と余りの計算
を利用して作られます。
・ハッシュ関数(Hash Function)
元のデータから固定長のデータ(ハッシュ値)を作り出す関数です。
圧縮されたデータは、元のデータ(メッセージ)の特徴を要約したもの
になるという意味で、メッセージ・ダイジェスト(要約)関数とも呼ば
れます。
この特徴は、データの改ざんを見つけることに利用できます。
送信前と後のデータのハッシュ値を比べ、それらの値が同じであれば
データは改ざんされていないと判断します。
ただし、どこがどのように改ざんされたかまではわかりません。
また、あるハッシュ値に対応するデータは無数にあるので元に戻すこと
ができないという意味で、一方向関数とも呼ばれます。
この特徴は、ユーザー認証に利用できます。
パスワードの代わりにパスワードを元に生成したハッシュ値を送れば、
仮に盗聴されてハッシュ値が盗まれても、それを元にパスワードを
みつけることはまず不可能になります。(一方向暗号)
代表的なハッシュ関数には、MD5、SHA−1があります。
メッセージダイジェスト関数
http://www5f.biglobe.ne.jp/~h-it/mlcont/mc0047.htm#003
・MD5(Message Digest 5)
RSA公開鍵暗号を開発したロン・リベスト(Ronald Rivest)によって
開発されました。
元の文章から128ビットのハッシュ値を作り出します。
・SHA−1(Secure hash algorithm)
米国のNIST(国家標準技術研究所)が提案、1995年に米国政府の
標準ハッシュ関数として採用されました。
元の文章から160ビットのハッシュ値を作り出します。
[ Index ]
[ Home ]