暗号/ハッシュ の ハッシュ関数に関する解説。

株式会社 日立ソリューションズ

HITACHI Inspire the Next

  • ホーム
  • ソリューション・商品
  • 事例紹介
  • セミナー・展示会
  • ビジネスコラム
  • 企業情報
  • お問い合わせ

ハッシュ関数

ハッシュ関数とは

ハッシュ関数 (ハッシュかんすう、hash function) とは、あるデータが与えられた場合にそのデータを代表する数値を得る操作、又は、その様な数値を得るための関数のこと。ハッシュ関数から得られた数値のことをハッシュ値または単にハッシュという。
ハッシュ関数は主に検索の高速化やデータ比較処理の高速化、さらには改竄の検出に使われる。例えば、データベース内の項目を探したり、大きなファイル内で重複しているレコードや似ているレコードを検出したり、核酸の並びから類似する配列を探したりといった場合に利用できる。
ハッシュ関数の入力を「キー (key)」と呼ぶ。ハッシュ関数は2つ以上のキーに同じハッシュ値をマッピングすることがある。多くの場合、このような衝突の発生は最小限に抑えるのが望ましい。したがって、ハッシュ関数はキーとハッシュ値をマッピングする際に可能な限り一様になるようにしなければならない。用途によっては、他の特性も要求されることがある。ハッシュ関数の考え方は1950年代に遡るが<ref>、ハッシュ関数の設計の改善は今でも盛んに研究されている。
ハッシュ関数は、チェックサムチェックディジットフィンガープリント誤り訂正符号暗号学的ハッシュ関数などと関係がある。これらの概念は一部はオーバーラップしているが、それぞれ用途が異なり、異なった形で設計・最適化されている。
またプログラミング言語の一部(PerlRuby等、主に高等言語とされる一般的なプログラミング言語の多く)においては、連想配列のことを伝統的にハッシュと呼ぶが、これは連想配列そのもののプログラムの内部的実装に拠るものであり、ハッシュ関数そのものとは全く異なる。連想配列はハッシュ関数の応用例の一つのハッシュテーブルの実用例である。

ページトップへ戻る


セキュアルータ

セキュアルータ

日立ソリューションズが提供するJuniper Networks SRXシリーズ。

ファイアウォール

ファイアウォール

Palo Altoは、アプリケーションを識別しポリシー制御を実現する次世代型ファイアウォールです。


ページトップへ戻る

話題の用語

クラウドコンピューティング

WWW用語辞典

クラウドコンピューティングとは、コンピュータサービスの利用者が ...

続きを読む 続きを読む

Active Directory

企業情報システム用語辞典

ActiveDirectory(アクティブディレクトリ)とは、Microsoft社が提供するディレクト...

続きを読む 続きを読む

ページトップへ戻る