TRIZ公式サイトぷろえんじにあ

TRIZ・ITソフトウェアキーワードリスト TOP

暗号ハッシュ関数

1 解説
 ビット列に変換された任意の長さのメッセージを入力として取り扱い、固定長の短い数値を算出する数学的な逆変換不可能な変換をおこなう。効率のよいアルゴリズムである。主な活用例として、パスワード暗号化、バックアップファイルの保全性の確証記録、ネットワークサーバー内のプログラムのダウンラインロードのセキュリティ、電子署名のメッセージダイジェストなどがある。
 共通鍵暗号ではアルゴリズムそのものを代替わりさせることによって、より安全でより高速なものへと移行することが可能である。これに対して、ハッシュ関数、公開鍵暗号、デジタル署名ともに、アルゴリズムそのものを代替わりさせるというよりも、基本的にはほぼ同じ構成のままハッシュ長や鍵長を延ばすことによって安全性を高めるといった方が適当である。その結果、安全性向上と引き換えに処理性能の面では一般に劣化することになることに注意されたい。
 SHA-256、SHA-384、SHA-512は2002年に、SHA-224は2004年に米国家安全保障局(NSA)が設計し、NISTが規格化した米国政府標準ハッシュ関数(FIPS 180-2[参考文献2])である。ハッシュ長は順に256ビット、384ビット、512ビット、224ビットであり、MD5/SHA-1同様、メッセージ拡張関数と圧縮関数とからなる構造をしている。この4つのハッシュ関数を区分する場合、ハッシュ長による違いというよりも利用環境でのCPU基本演算系の違いという側面の方が大きい。つまり、32ビット演算系CPUでの利用を前提とする場合にはSHA-224とSHA-256を、64ビット演算系CPUでの利用を前提とする場合にはSHA-384とSHA-512を使うことが想定されている。また、SHA-224とSHA-384は、(初期ベクトル値は異なるものの)それぞれSHA-256またはSHA-512と同様の演算をした後、それらのハッシュ値の一部(下位32ビットまたは128ビット)を切り捨てる形でハッシュ長を短くしているだけである(図1参照)。従って、処理性能では、SHA-224とSHA-256、SHA-384とSHA-512はほとんど変わらない。

2 所見
 特になし