SHA
出典: フリー百科事典『ウィキペディア(Wikipedia)』
SHA(シャー、Secure Hash Algorithm)グループは、一組の関連したハッシュ関数である。SHAはアメリカ国立標準技術研究所(NIST)によってアメリカ政府の標準ハッシュ関数Secure Hash Standard(SHS)として採用されている。
アルゴリズムはMD4を元にしており、MD5よりも攻撃に対して強いと考えられている。
SHAは生成するビット長が異なるSHA-1(160ビット)、SHA-256、SHA-384、SHA-512の4種類が存在している。
もっともよく使われる関数はSHA-1でTLS、SSL、PGP、SSH、S/MIME、IPSecなど、さまざまなセキュリティのアプリケーションやプロトコルに採用されている。 SHA-1は、以前から広範囲に使われているハッシュ関数であるMD5に代わるものであると考えられている。SHAアルゴリズムは国家安全保障局(NSA)によって開発され、アメリカ政府の標準として発表された。
グループのメンバーで1993年にはじめに発表されたものは、公式にはSHAと呼ばれている。しかしその後のものと区別するためにしばしばSHA-0と呼ばれている。2年後、SHAに初めての後継となるSHA-1が発表された。さらにSHA-224、SHA-256、SHA-384、SHA-512と4つの変形が、増加する出力の範囲とわずかなデザインの違いで発行されている。それらはしばしばまとめてSHA-2といわれている。
SHA-0、SHA-1ともに、対象とした攻撃(ハッシュ値の強衝突耐性突破)が見つかっているが、SHA-2には攻撃された記事はまだない。(MD5#ハッシュの衝突耐性についてを参照。)
Linux上ではmd5sumとほぼ同じインターフェイスを持つsha1sumというコマンドがあり、SHA-1メッセージダイジェストの生成と検証が可能である。