ハッシュ‐かんすう〔‐クワンスウ〕【ハッシュ関数】
ハッシュ関数
【英】hash function
ハッシュ関数とは、暗号化や誤り・改ざん検出などに使われる、あるデータからそのデータを要約する数列を生成する演算手法のことである。
ハッシュ関数における「データを要約する数列」とは、固定長の疑似乱数列である。これは、ルールのない乱数列のように見えるが、実際にはある理論によって求められているという性質をもっている。この数値はハッシュ値などと呼ばれることもある。
理想としては、異なるデータから異なるハッシュ値が生成されることが望ましいが、一般的にそれは難しい。実用的には、似ている2つのデータから似ているハッシュ値が生成されないことや、元のデータとハッシュ値が等しい別のデータが簡単には生成できないことなどの要件を満たす関数にすることで、信頼性や暗号化技術としてのセキュリティレベルなどを保っている。
代表的なハッシュ関数としては、与えられたデータに対して128ビットのハッシュ値を生成するSHA-1やMD5などを挙げることができる。
ハッシュ関数
導入
メッセージダイジェスト (ハッシュ) エンジンです。さまざまなハッシュ アルゴリズムを使用して、任意の長さのメッセージに対する 直接的あるいは段階的な処理を可能とします。要件
ハッシュ拡張モジュールは外部のライブラリを必要とせず、PHP 5.1.2 ではデフォルトで有効となります。configure 時に --disable-hash を指定することで明示的に無効にすることも可能です。それ以前の バージョンの PHP にハッシュ拡張モジュールを組み込むには、 » PECL モジュール をインストールします。定義済み定数
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。- HASH_HMAC (integer)
- hash_init() のオプションのフラグです。 現在のハッシュコンテキストに対して HMAC digest-keying アルゴリズムが適用されることを示します。
目次
- hash_algos — 登録されているハッシュアルゴリズムの一覧を返す
- hash_file — ファイルの内容から、ハッシュ値を生成する
- hash_final — 段階的なハッシュ処理を終了し、出来上がったダイジェストを返す
- hash_hmac_file — HMAC 方式を使用して、指定されたファイルの内容からハッシュ値を生成する
- hash_hmac — HMAC 方式を使用してハッシュ値を生成する
- hash_init — 段階的なハッシュコンテキストを初期化する
- hash_update_file — アクティブなハッシュコンテキストに、ファイルから データを投入する
- hash_update_stream — アクティブなハッシュコンテキストに、オープンしているストリームから データを投入する
- hash_update — アクティブなハッシュコンテキストにデータを投入する
- hash — ハッシュ値 (メッセージダイジェスト) を生成する
ハッシュ関数
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/08/03 17:44 UTC 版)
ハッシュ関数 (ハッシュかんすう、英語: hash function) あるいは要約関数[1]とは、任意のデータから、別の(多くの場合は短い固定長の)値を得るための操作、または、その様な値を得るための関数のこと。ハッシュ関数から得られた値のことを要約値やハッシュ値または単にハッシュという。
- ^ https://kotobank.jp/word/要約関数-653412
- ^ "Robust Audio Hashing for Content Identification" by Jaap Haitsma, Ton Kalker and Job Oostveen
- ^ Bret Mulvey, Hash Functions. Accessed April 11, 2009
- ^ A. Z. Broder. Some applications of Rabin's fingerprinting method. In Sequences II: Methods in Communications, Security, and Computer Science, pages 143--152. Springer-Verlag, 1993
- ^ Bret Mulvey, Evaluation of CRC32 for Hash Tables, in Hash Functions. Accessed April 10, 2009.
- ^ Bret Mulvey, Evaluation of SHA-1 for Hash Tables, in Hash Functions. Accessed April 10, 2009.
- ^ Knuth, Donald (1973). The Art of Computer Programming, volume 3, Sorting and Searching. pp. 506–542
ハッシュ関数
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/20 01:52 UTC 版)
「暗号ライブラリの比較」の記事における「ハッシュ関数」の解説
サポートされている暗号化ハッシュ関数を比較する。メッセージのMACタグを生成するために使用される暗号を含む。ここではハッシュ関数は、任意の長さのメッセージから、元のメッセージの復号が実質不可能な固定サイズの出力を生成するものとして定義する。 実装MD5SHA-1SHA-2SHA-3RIPEMD-160TigerWhirlpoolGOSTStribogBLAKE2Bouncy Castle Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes CryptoComply Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes cryptlib Yes Yes Yes Yes Yes No Yes No No No Crypto++ Yes Yes Yes Yes Yes Yes Yes Yes No Yes Libgcrypt Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes libsodium No No Yes No No No No No No Yes OpenSSL Yes Yes Yes Yes Yes Yes Yes Yes Yes wolfCrypt Yes Yes Yes Yes Yes No No No No Yes
※この「ハッシュ関数」の解説は、「暗号ライブラリの比較」の解説の一部です。
「ハッシュ関数」を含む「暗号ライブラリの比較」の記事については、「暗号ライブラリの比較」の概要を参照ください。
ハッシュ関数
- ハッシュ関数のページへのリンク