SHA-256とは?「特徴」や「読み方」などを解説【ハッシュ関数】

この記事ではハッシュ関数の『SHA-256』について、

  • SHA-256の「特徴」と「読み方」
  • SHA-256が属しているSHA-2ファミリーについて

などを図を用いて分かりやすく説明するように心掛けています。ご参考になれば幸いです。

SHA-256の「特徴」と「読み方」

SHA-256の「特徴」と「読み方」

SHA-256は入力データの長さに関わらず、256ビット(16進数では64桁)の文字列を出力するハッシュ関数です。

同じ入力データからは必ず同じハッシュ値が得られ、少しでも入力データが異なれば全く違うハッシュ値が得られるようになっています。例えば、「ABCD」と「ABCE」という入力データをハッシュ関数SHA-256でハッシュ化した場合、以下のハッシュ値が得られます。

  • 「ABCD」をハッシュ化した場合に得られるハッシュ値
    • E12E115ACF4552B2568B55E93CBD39394C4EF81C82447FAFC997882A02D23677
  • 「ABCE」をハッシュ化した場合に得られるハッシュ値
    • 7FF1C8304512F393AFDFE46F2F653F03F2F70ABD3D97F0DE2267CF34B9243165

元の文字列は1カ所しか違いませんが、ハッシュ値は大きく異なっていることが分かります。

補足

SHA-256は「しゃーにごろ」と読みます。

SHA-256が属しているSHA-2ファミリーについて

SHA-256は「SHA(Secure Hash Algorithm: セキュア・ハッシュ・アルゴリズム)」というシリーズのハッシュ関数の中の一つである「SHA-2」ファミリーに属する関数です。

SHA-2には以下の6種類がありますが、その中でSHA-256は実装しやすさ、計算速度、暗号学的な安全性のバランスに優れているため、最も広く普及しています。

  • SHA-224
    • ハッシュ値の長さ: 224ビット
  • SHA-256
    • ハッシュ値の長さ: 256ビット
    • 実装しやすさ、計算速度、暗号学的な安全性のバランスに優れており、最も広く普及している。
  • SHA-384
    • ハッシュ値の長さ: 384ビット
  • SHA-512
    • ハッシュ値の長さ: 512ビット
  • SHA-512/224
    • ハッシュ値の長さ: 224ビット
    • SHA-512のアルゴリズムをベースにしており、ハッシュの長さが224ビットになるように切り詰められている。
  • SHA-512/256
    • ハッシュ値の長さ: 256ビット
    • SHA-512のアルゴリズムをベースにしており、ハッシュの長さが256ビットになるように切り詰められている。

補足

  • SHA-2はアメリカ国家安全保障局(NSA)が開発し、2001年に米国国立標準技術研究所(NIST)によって連邦情報処理の一つとして標準化されています。
  • SHA-2は、先代のSHA-0やSHA-1に続いて開発されたハッシュ関数ファミリーです。SHA-1は脆弱性が発見されたことから非推奨になり、現在ではSHA-2ファミリーがより安全な選択として広く推奨されています。

本記事のまとめ

この記事ではハッシュ関数の『SHA-256』について、以下の内容を説明しました。

  • SHA-256の「特徴」と「読み方」
  • SHA-256が属しているSHA-2ファミリーについて

お読み頂きありがとうございました。