ハッシュ関数
Hash Function
はっしゅかんすう
他の資格での定義
任意の長さのデータから固定長のハッシュ値(メッセージダイジェスト)を生成する一方向性の関数。元のデータの復元が困難で、入力データが少しでも異なると全く異なるハッシュ値になる。SHA-256は256ビットのハッシュ値を生成する代表的なアルゴリズム。
任意の長さのデータから固定長のハッシュ値(メッセージダイジェスト)を生成する一方向関数。元データの改ざん検出やパスワードの保存に利用される。SHA-256などが代表的で、ハッシュ値から元データの復元は計算上不可能。
任意の長さのデータから固定長のハッシュ値(メッセージダイジェスト)を生成する一方向性の関数。SHA-256やSHA-3が代表的で、元のデータからハッシュ値は計算できるが、ハッシュ値から元のデータを復元することは計算上困難。改ざん検知やパスワード保存に利用される。
任意長のデータから固定長のハッシュ値を生成する一方向関数。SHA-256、SHA-3が代表的。データの改ざん検出、デジタル署名、パスワードの保存に使用される。組込みシステムではファームウェアの整合性検証に不可欠。
任意長のデータから固定長のハッシュ値(メッセージダイジェスト)を生成する一方向関数。改ざん検出、デジタル署名、パスワード保存などに利用される。SHA-256、SHA-3が代表的で、一方向性と衝突発見困難性が重要な性質。
関連キーワードの用語
インターネット上の通信を暗号化して安全に行うためのプロトコル。Webサイトとの通信(HTTPS)や電子メールの暗号化などに広く利用されている。TLSはSSLの後継規格。
データを特定のアルゴリズムと鍵を使って、第三者に読めない形式に変換する処理。通信やデータ保存における機密性の確保に用いられる。元に戻す処理を復号という。
暗号化と復号に同じ鍵(共通鍵)を使用する暗号方式。処理速度が速いが、通信相手ごとに鍵を安全に共有する必要がある。AESが代表的なアルゴリズム。
公開鍵と秘密鍵のペアを使用する暗号方式。公開鍵で暗号化したデータは対応する秘密鍵でのみ復号できる。鍵の配送問題を解決するが、処理速度は共通鍵方式より遅い。RSAが代表例。
共通鍵暗号方式と公開鍵暗号方式を組み合わせた暗号方式。データの暗号化には高速な共通鍵方式を、共通鍵の受け渡しには安全な公開鍵方式を使う。SSL/TLSで採用されている。
暗号化と復号に同じ鍵(共通鍵・秘密鍵)を使用する暗号方式。公開鍵暗号方式に比べて処理速度が速いが、通信相手ごとに異なる鍵を安全に共有する必要がある。代表的なアルゴリズムにAESがある。