SHAは、National Security Agencyによって発明され、National Institutes of Standards andTechnologyによって公開された暗号化標準であるSecureHashAlgorithmの頭字語です。 元のSHAアルゴリズムには暗号化方式の弱点があることが判明し、セキュリティを強化するためにSHA-1に置き換えられました。
セキュアハッシュアルゴリズム
SHAは暗号化ハッシュ関数です。 ハッシュ関数は、プレーンテキストと呼ばれる最初の暗号化されていないテキストを受け取り、暗号化されたメッセージを構成する理論的に一意の番号を生成します。 SHAは、0〜1.46 x 10 ^ 48の数値である160ビットの数値を作成します。 このようなメッセージの数は次のとおりであるため、この数がすべての可能なプレーンテキストメッセージに対して一意であることを保証することはできません。 理論的には無限ですが、同じ暗号化を生成する2つのメッセージに対して、オッズは約2 ^ 80、つまり1.21 x 10 ^ 24です。 結果。 これが発生した場合、これは衝突と呼ばれます。 衝突は暗号化アルゴリズムに対する数学的攻撃を提供し、暗号学者が平文を解読することを可能にします。
今日のビデオ
SHA-0およびSHA-1
公開後、元のSHAアルゴリズムに欠陥が発見され、暗号化攻撃によってハッシュ衝突が発生し、その有効性が大幅に低下しました。 改訂されたSHAバージョンであるSHA-1が開発され、アルゴリズムの元の欠陥なしに同じ160ビットの結果が作成されました。 元のSHAは、その使用法とSHA-1の使用法を区別するために、遡及的にSHA-0に名前が変更されました。
SHA-1の変更
SHA-0の元の欠陥は、SHA-0暗号化を使用してメッセージを復号化しようとする攻撃者にツールキットを提供するため、公開されたことはありません。 元のアルゴリズムの弱点に関する唯一の公開情報は、ハッシュ衝突の可能性が高いことを示しています SHA-0を使用する場合のランダムな偶然よりも、未公開の方法を使用する場合の衝突は、使用する場合に排除されます。 SHA-1。 SHA-1とSHA-0は同じ長さの数学的な結果を生成するため、SHA-1はドロップインの代替として使用できます。 残りの部分で大幅な書き換えを必要とせずに、元のSHA-0アルゴリズム用のコンピュータソフトウェアで ソフトウェア。
SHA-2およびSHA-3
SHA-1はSHA-0よりも堅牢であることがわかっていますが、改善の余地があります。 SHA-1の結果の数学的分析は、SHA-1暗号化が破られる可能性がある方法を示しました その10 ^ 48の可能なすべての組み合わせをチェックすることにより、理論的に可能であるよりも2,000倍高速です。 出力。 理想的な暗号化アルゴリズムはこの種の復号化速度の向上を防ぐため、SHA-2アルゴリズムはこの攻撃を回避し、可能なハッシュサイズを512ビット(1.34 x 10 ^ 154)に増やします。 さらに強力な暗号化アルゴリズムであるSHA-3は、現在開発中です。