TokoroTech

勉強した技術的なこと等まとめていってます!

【用語】一方向ハッシュ関数(One-way Hash Function)

目次

一方向ハッシュ関数(One-way Hash Function)

利用目的

メッセージの「正真性」(改竄があるか否か)を確かめます。

用語

一方向ハッシュ関数の用語
用語 内容
ハッシュ関数 以下図のように、ハッシュ関数は変換前のデータがどんなサイズでも固定長のハッシュ値に変換できます。そのため、正真性の検証をする際は、固定長のハッシュ値分しか使わないので処理の負荷はかからないです。
ハッシュ値 ハッシュ関数によって出力される固定長の値です。

登場人物

暗号技術の処理フローの中での基本的な登場人物は以下となります。
(※Alice と Bob は暗号通信の分野で、想定上の当事者として登場する典型的なキャラクターらしいです。)

暗号技術の登場人物
登場人物 内容
Alice 一般のメッセージ送信者(Sender)
Bob 一般のメッセージ受信者(Receiver)
User 一般ユーザ

流れ

  1. 4月1日に Alice はメッセージを作成し、ハッシュ値も出力します。
  2. 4月2日に Alice はメッセージが改竄されていないか確認するため、改めてハッシュ値を出力します。
  3. Alice は4月1日のハッシュ値、4月2日のハッシュ値を比べて改竄の有無を確認します。

問題点

  • 強衝突耐性、弱衝突耐性の問題 全く違う内容のメッセージであってもハッシュ値が同じになってしまう場合があるため、固定長の短いハッシュ値を出力するハッシュ関数は扱うのは非推奨になります。

利用例

  • ソフトウェアの改竄検出

  • パスワードを基にした暗号化

  • メッセージ認証コード tokoro10.net

  • デジタル署名

  • 擬似乱数生成器
  • ワンタイムパスワード
  • etc...

参考

END