辞書へ戻る概念の一覧

ハッシュ関数

はっしゅかんすう概念

任意のデータを固定長の値に変換する関数。データ照合・改ざん検出・パスワード保護などに広く使われる。

年表

1953IBMのハンス・ピーター・ルーンが、情報を「バケツ」に振り分けて検索を高速化する社内メモを執筆

概要

どんなに長い・複雑なデータを入力しても、決まった長さの値(ハッシュ値)に変換してしまう関数。同じ入力からは必ず同じハッシュ値が得られるが、逆にハッシュ値から元のデータを復元することはできない。データの照合、改ざん検出、パスワードの保護など、幅広い場面で使われる。

時代背景

1953年、IBMの研究者ハンス・ピーター・ルーンが社内メモの中で、情報を「バケツ」に振り分けて検索を高速化する手法を提案した。例えば電話番号のような数字列を桁のペアに分け、それぞれを足し合わせて一つの数(バケツの番号)を作り、そのバケツの中に元のデータを格納する。探すときは同じ計算をしてバケツ番号を求め、そのバケツの中だけを順に探せばよいので、リスト全体を端から探すより大幅に速くなる。

現在

ルーンのバケツ方式はのちに大きく発展し、今日のハッシュ関数は暗号技術、クラウドストレージ、ゲノム研究、Webセキュリティなど、単純な数値計算を超えた幅広い分野で使われる基盤技術になっている。

関連項目

  • チェックサムデータの誤りを検出するための小さな検査値。通信や保存でデータが壊れていないかを確かめるのに使う。
  • 暗号化情報を第三者に読めない形へ変換し、正しい鍵を持つ人だけが元に戻せるようにする技術。古くは軍事・外交の道具だったが、今ではWeb通信やデータ保護に欠かせない。プライバシーとセキュリティの根幹をなす考え方。
  • ブロックチェーン取引記録を鎖のようにつなぎ、みんなで分散して持ち合うことで改ざんを防ぐ仕組み。ビットコインを支える技術として登場し、中央の管理者なしで信頼を作る発想で注目された。

関連技術

出典