一方向暗号(ハッシュ関数)

■チェック用語

・一方向関数(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 ]