SHA-2
[Wikipedia|▼Menu]

SHA-2一般
設計者
アメリカ国家安全保障局
初版発行日2001
シリーズ(SHA-0), SHA-1, SHA-2, SHA-3
認証FIPS PUB 180-4, CRYPTREC, NESSIE
詳細
ダイジェスト長224, 256, 384, or 512 bits
構造Merkle-Damgard construction
ラウンド数64 or 80
最良の暗号解読
2011年に原像攻撃によってSHA512の80ラウンド中57ラウンドまで、SHA-256の64ラウンド中52ラウンドまで[1]。疑似衝突攻撃ではSHA-256の46ラウンドまで[2]

SHA-2(シャーツー[3])は、Secure Hash Algorithmシリーズの暗号学的ハッシュ関数で、SHA-1の改良版である。アメリカ国家安全保障局によって設計され、2001年にアメリカ国立標準技術研究所によって連邦情報処理標準 PUB 180-4として標準化された。
概要

SHA-2には、前身のSHA-1から多くの改良が加えられている。それ以前のハッシュ関数は、ハッシュ長が固定で、強度もそれによって決まっていた。しかし、SHA-2はSHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256の6つのバリエーションを持ち、ハッシュ長は224、256、384、512ビットのいずれかである。

SHA-256とSHA-512は、それぞれ32ビット、64ビットのワード長から計算されるハッシュ関数である。シフト量と追加定数が異なるが、構造自体は本質的に同一であり、ラウンド数のみが異なる。SHA-224とSHA-384は、それぞれSHA-256とSHA-512を単純に切り詰めたバージョンであり、初期値のみが異なる。SHA-512/224とSHA-512/256は、SHA-256ではなくSHA-512を切り詰めたバージョンである。SHA-2シリーズは .mw-parser-output .citation{word-wrap:break-word}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}US 6829355  によってカバーされているが、アメリカ合衆国は、この特許をロイヤリティフリーで開放している[4]

2004年にMD5とSHA-0の強衝突耐性が突破され[5]、翌2005年にはSHA-1の突破方法が発表された[6]。以降も攻撃法の研究が進む、といった事態が起きたため、急遽NIST主導で新たな構造を持つアルゴリズムのSHA-3の公募が2007年から5年かけて進められた[7][8]。公募後、3年の検証を経て、2015年8月にSHA-2の次のスタンダードとしてSHA-3が制定された[9]。SHA-2にはSHA-1と類似する点もあるものの、後述するように当時憂慮されたような事態にはなっていない(2015年6月現在)。

2014年1月現在、SHA-1に有効な攻撃をSHA-2に拡張することは達成されていない。原像攻撃ではSHA-256にて52ラウンドまで、SHA-512にて57ラウンドまで、衝突攻撃ではSHA-256の46ラウンドまでが最良の攻撃法である[1][2]

SHA-2は、日本のCRYPTRECおよびヨーロッパのNESSIEにおいて、推奨暗号として採用されている。[10]
ハッシュ関数の標準化SHA-2シリーズの圧縮関数の1回分の繰り返し
Ch ⁡ ( E , F , G ) = ( E ∧ F ) ⊕ ( ¬ E ∧ G ) {\displaystyle \operatorname {Ch} (E,F,G)=(E\land F)\oplus (\neg E\land G)} Ma ⁡ ( A , B , C ) = ( A ∧ B ) ⊕ ( A ∧ C ) ⊕ ( B ∧ C ) {\displaystyle \operatorname {Ma} (A,B,C)=(A\land B)\oplus (A\land C)\oplus (B\land C)} Σ 0 ( A ) = ( A ⋙ 2 ) ⊕ ( A ⋙ 13 ) ⊕ ( A ⋙ 22 ) {\displaystyle \Sigma _{0}(A)=(A\!\ggg \!2)\oplus (A\!\ggg \!13)\oplus (A\!\ggg \!22)} Σ 1 ( E ) = ( E ⋙ 6 ) ⊕ ( E ⋙ 11 ) ⊕ ( E ⋙ 25 ) {\displaystyle \Sigma _{1}(E)=(E\!\ggg \!6)\oplus (E\!\ggg \!11)\oplus (E\!\ggg \!25)}
これらの値はSHA-256のものであり、SHA-512では異なる値が用いられる。
⊞ {\displaystyle \color {red}\boxplus } :addition modulo 232.

FIPS PUB 180-2において、3つのハッシュ関数がSHAシリーズに追加された。これらは出力されるハッシュ長のビット数からそれぞれSHA-256、SHA-384、SHA-512と呼ばれ、SHA-2と総称される。

アルゴリズムは2001年のFIPS PUB 180-2の草稿にて発表され、レビューやコメントが寄せられた。2002年8月、FIPS PUB 180-2は新たな標準 "Secure Hash Standard" として認定され、1995年に制定されたFIPS PUB 180-1を置き換えた。FIPS PUB 180-2には、180-1で規定されたSHA-1も含まれている[11]

2004年2月、FIPS PUB 180-2のChange Noticeとして、鍵を2つ用いるトリプルDESの鍵長に合うように定義されたSHA-224が追加された[12]。2008年10月、FIPS PUB 180-3が制定されたが、これはSHA-224をChange Noticeから標準自体に取り込むほかには本質的な変化はなかった。この更新は、ハッシュ関数のセキュリティ情報の更新と、これらSHA-2をSpecial Publications 800-107および800-57において使用することを推奨するためのものであった[13][14][15]。詳細なテストデータとハッシュの例が標準から除去され、別文書とされた[16]

2011年1月、NISTはSP800-131Aを発表した。これは、連邦政府組織におけるセキュリティ強度の下限について、それまでの80ビット(SHA-1によって得られる強度)の使用を2013年末までに限定し、それ以降は112ビット(SHA-224によって得られる強度)を下限とするものである[17]

2012年3月、FIPS PUB 180-4が制定され、SHA-512を切り詰めたバージョンとしてSHA-512/224とSHA-512/256が追加された。また、入力データのパディングをハッシュ計算の前に行なうこととしていた制限が撤廃され、リアルタイムでの音声や映像などにおけるハッシュ計算をコンテンツ生成と同時に行うことが可能となった。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:56 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef