SHAとは?
- 短い定義:
-
安全なハッシュ アルゴリズム (社) 入力データを受け取り、固定サイズのハッシュ値またはダイジェストを生成する暗号化ハッシュ関数です。. 一方向の関数として設計されています, つまり、ハッシュ値から元の入力データをリバース エンジニアリングすることは計算上不可能です。. さまざまなセキュリティアプリケーションで一般的に使用されています, データ整合性検証を含む, パスワードストレージ, そしてデジタル署名.
用語 “社” 安全なハッシュアルゴリズムを指します. これは MD5 の修正バージョンであり、データと証明書のハッシュ化の目的で利用されます。. ハッシュ アルゴリズムは、ビット単位の演算を使用して入力データを圧縮形式に変換するように設計されています。, モジュール式の追加, および圧縮関数. ようではない 暗号化, 逆にできるのは, ハッシュ化は一方向のプロセスです, つまり、データがハッシュ化されると、, 結果として得られるハッシュ ダイジェストは復号化できません, 徹底的なブルートフォース手法を除く.
- 拡張定義:
- SHA-1. SHA-1 アルゴリズムは、 1995 160 ビットのハッシュ ダイジェストを生成します. 長年にわたって広く使用されてきましたが、現在では耐衝突性の脆弱性により弱いと考えられています。. 結果として, ほとんどのセキュリティ アプリケーションではその使用が推奨されていません.
- SHA-2. SHA-2 ファミリは SHA-224 で構成されています, SHA-256, SHA-384, および SHA-512. これらのアルゴリズム, で開発された 2001, さまざまなサイズのハッシュ ダイジェストを提供する: 224, 256, 384, と 512 ビット, それぞれ. SHA-256, 特に, 広く使用されており、ほとんどのアプリケーションで安全であると考えられています.
- SHA-3. SHA-3 は SHA ファミリに新しく追加されたものです, 新しい規格を選択するためのコンペティションとして設計されました. 選択したアルゴリズム, ケチャック, で SHA-3 になりました 2015. さまざまなサイズのハッシュ ダイジェストを提供します, 含む 224, 256, 384, と 512 ビット. SHA-3 は安全であると考えられており、SHA-2 の代替オプションを提供します。.
安全なハッシュ アルゴリズム (社) 国家安全保障局によって開発された暗号化ハッシュ関数のファミリーです。 (NSA) 米国では. SHA の主な目的は、固定サイズの出力を生成することでデータの整合性とセキュリティを提供することです。, ハッシュ値またはダイジェストとして知られる, 任意の入力データから. ハッシュ値は入力データに固有のものです, つまり、入力がわずかに変化しただけでも、出力は大きく異なります。.
安全なハッシュ アルゴリズムはどのように動作するのか?
最初のメッセージが SHA-1 ハッシュされる場合, 結果のハッシュダイジェストは次のようになります “06b73bd57b3b938786daed820cb9fa4561bf0e8e。” 2 番目のメッセージの場合, 最初に似た, SHA-1でハッシュ化される, ハッシュダイジェストは次のように表示されます “66da9f3b8d9d83f34770a14c38276a69433a535b。” この現象は雪崩効果として知られています, 暗号化において重要な意味を持つ. これは、入力メッセージのほんのわずかな変更でも出力が完全に変化することを意味します。, 攻撃者がハッシュ ダイジェストの元の内容を理解して、メッセージが送信中に改ざんされたかどうかを判断することを防ぎます。.
SHA は元のメッセージの変更を検出する上で重要な役割を果たすことにも言及する必要があります。. ハッシュダイジェストと基準値を比較することで, ユーザーは 1 文字の変更でも識別できます, 結果として得られるハッシュ ダイジェストは完全に異なるため、. もう一つの重要な特徴は決定論です。. これは、使用されるハッシュ関数に関する知識があれば、, どのコンピュータまたはユーザーも同じハッシュ ダイジェストを再現できます. ハッシュ アルゴリズムの決定論的な性質が、インターネット上のすべての SSL 証明書を SHA-2 関数を使用してハッシュする必要がある理由の 1 つです。.
SHAアルゴリズムの種類は何ですか?
さまざまなハッシュ ダイジェスト サイズでさまざまなハッシュ関数を提供するために開発されたセキュア ハッシュ アルゴリズムには、いくつかの種類があります。. 一般的に認識されている SHA アルゴリズムは次のとおりです:
適切なタイプのセキュア ハッシュ アルゴリズムを選択する方法?
どのアルゴリズムを使用するかの選択は、アプリケーションの特定の要件によって異なります。, 必要なハッシュ ダイジェスト サイズや必要なセキュリティ レベルなど. 新しい実装には通常、SHA-2 または SHA-3 アルゴリズムを使用することをお勧めします。, 一方、SHA-1 は脆弱性のため推奨されていません. SHA-1 から SHA-256 への移行は、さまざまな業界や標準で奨励されています。, そのような SSL/TLS証明書, セキュリティを強化するために.
より多くの定義について, 私たちの専用をチェックしてください 定義一覧.