Loading article…
セキュアハッシュ アルゴリズムは、米国国立標準技術研究所(NIST)が米国連邦情報処理標準(FIPS) として公開した暗号化ハッシュ関数のファミリであり、次のものが含まれます。
- SHA-0 : 1993 年に「SHA」という名前で公開された 160 ビット ハッシュ関数のオリジナル バージョンに付けられたレトロニム。公開後すぐに、未公開の「重大な欠陥」のために撤回され、わずかに修正されたバージョンの SHA-1 に置き換えられました。
- SHA-1 : 以前のMD5アルゴリズムに似た 160 ビットのハッシュ関数。これは、国家安全保障局(NSA) によってデジタル署名アルゴリズムの一部として。SHA-1 には暗号の脆弱性が発見され、2010 年以降、この標準はほとんどの暗号用途で承認されなくなりました。
- SHA-2 : ブロック サイズが異なる 2 つの類似ハッシュ関数のファミリーで、 SHA-256とSHA-512と呼ばれます。これらはワード サイズが異なり、SHA-256 は 32 ビット ワードを使用し、SHA-512 は 64 ビット ワードを使用します。また、各標準の短縮バージョンもあり、 SHA-224、 SHA-384、 SHA-512/224、 SHA-512/256と呼ばれます。これらも NSA によって設計されました。
- SHA-3 : 以前はKeccakと呼ばれていたハッシュ関数。2012 年に NSA 以外の設計者による公開コンペで選ばれました。SHA-2 と同じハッシュ長をサポートしており、その内部構造は SHA ファミリの他のものとは大きく異なります。
対応する標準は、 FIPS PUB 180 (オリジナル SHA)、FIPS PUB 180-1 (SHA-1)、FIPS PUB 180-2 (SHA-1、SHA-256、SHA-384、および SHA-512) です。NIST は、セキュア ハッシュ標準 (SHS) とは別に、ドラフト FIPS 出版物 202、SHA-3 標準を更新しました。
SHA関数の比較
以下の表では、内部状態は、データ ブロックの各圧縮後の「内部ハッシュ サム」を意味します。
検証
すべての SHA ファミリ アルゴリズムは、FIPS 承認のセキュリティ機能として、米国国立標準技術研究所(NIST) とカナダ通信保安局(CSE)が運営する共同プログラムであるCMVP (暗号モジュール検証プログラム) による公式検証の対象となります。
参考文献
- ^ 「測定表」bench.cr.yp.to .
- ^ Tao, Xie; Liu, Fanbao; Feng, Dengguo (2013). MD5 に対する高速衝突攻撃(PDF) . Cryptology ePrint Archive (技術レポート). IACR .
- ^ Stevens, Marc ; Bursztein, Elie ; Karpman, Pierre ; Albertini, Ange ; Markov, Yarik. 完全な SHA-1 の最初の衝突(PDF) (技術レポート)。Google Research。
- Marc Stevens、Elie Bursztein、Pierre Karpman、Ange Albertini、Yarik Markov、Alex Petit Bianco、Clement Baisse (2017 年 2 月 23 日)。「初の SHA1 衝突のお知らせ」。Googleセキュリティ ブログ。
- ^ 切り捨てがない場合、衝突耐性に関係なく、ハッシュ関数の完全な内部状態がわかります。出力が切り捨てられている場合、ハッシュ関数を再開する前に、状態の削除された部分を検索して見つける必要があり、攻撃を続行できるようになります。
- ^ 「Keccakスポンジ関数ファミリー」。2016年1月27日閲覧。
