SHA暗号化とAES暗号化の違いは何ですか?[閉まっている]


90

SHA暗号化とAES暗号化の違いは何ですか?


回答:



85

SHAは、国家安全保障局によって開発された「セキュアハッシュアルゴリズム」のファミリーです。現在、2012 +の新しいハッシュアルゴリズムであるSHA-3になるユーザーについては、数十のオプション間で競争があります。

SHA関数を使用して大きなドキュメントを取得し、入力の「ダイジェスト」(「ハッシュ」とも呼ばれます)を計算します。これは一方向のプロセスであることを理解することが重要です。ダイジェストを取り、元のドキュメントを復元することはできません。

AES、Advanced Encryption Standardは対称ブロックアルゴリズムです。これは、16バイトのブロックを取り、暗号化することを意味します。キーは暗号化と復号化の両方を許可するため、「対称」です。

更新: Keccakは、2012年10月2日にSHA-3の勝者に選ばれました。


64

SHAとAESは目的が異なります。SHAはデータのハッシュの生成に使用され、AESはデータの暗号化に使用されます。

SHAハッシュが役立つ場合の例を次に示します。LinuxディストリビューションのDVD ISOイメージをダウンロードしたいとします。これは大きなファイルであり、場合によっては問題が発生することがあります。ダウンロードしたものが正しいことを検証したい場合です。信頼できるソース(公式のディストリビューションダウンロードポイントなど)にアクセスして、通常、利用可能なISOイメージのSHAハッシュを入手します。これで、ダウンロードしたデータに対応するSHAハッシュを(任意の数の開いているツールを使用して)生成できます。2つのハッシュを比較して、それらが一致することを確認できます。これにより、ダウンロードしたイメージが正しいことを検証できます。これは、信頼できないソース(急流など)からISOイメージを取得する場合、またはISOの使用に問題があり、イメージが破損しているかどうかを確認する場合に特に重要です。

この例でわかるように、破損していないデータの検証にはSHAが使用されています。ISOでデータを表示するすべての権利があります。

一方、AESは、データを暗号化したり、秘密を知っている人がそのデータを閲覧できないようにするために使用されます。

AESは共有キーを使用します。つまり、データの復号化に使用されるのと同じキー(または関連キー)がデータの暗号化に使用されます。たとえば、AESを使用してメールを暗号化し、そのメールをあなたに送信した場合、あなたと私は両方とも、メールの暗号化と復号化に使用される共有キーを知っている必要があります。これは、PGPやSSLなどの公開鍵を使用するアルゴリズムとは異なります。

それらをまとめる場合は、AESを使用してメッセージを暗号化し、暗号化されていないメッセージのSHA1ハッシュを送信して、メッセージが復号化されたときにデータを検証できるようにします。これはやや不自然な例です。

これらのWikipediaの検索語句(AESおよびSHA以外)の詳細を知りたい場合は、以下をお試しください。

対称鍵アルゴリズム(AES用)暗号化ハッシュ関数(SHA用)公開鍵暗号(PGPおよびSSL用)


9

SHAはハッシュ関数で、AESは暗号化標準です。入力を指定すると、SHAを使用して、他の入力から生成される可能性が非常に低い出力を生成できます。また、関数の適用中に一部の情報が失われるため、同じ出力を生成する入力を生成する方法を知っていても、その入力は最初に使用されたものとは異なる可能性があります。一方、AESは、同じ暗号化キーを共有する2つのパーティ間で送信されるデータを第三者に開示しないよう保護することを目的としています。つまり、暗号化キーと出力(およびIV ...)がわかれば、元の入力にシームレスに戻ることができます。SHAには入力の適用以外は必要ありませんが、AESには少なくとも3つのシンが必要です。暗号化/復号化するもの、暗号化キー、および初期化ベクトル(IV)です。


7

SHAはSecure Hash Algorithmを表し、AESはAdvanced Encryption Standardを表します。したがって、SHAはハッシュアルゴリズムのスイートです。一方、AESは暗号化に使用される暗号です。SHAアルゴリズム(SHA-1、SHA-256など)は入力を受け取り、ダイジェスト(ハッシュ)を生成します。これは通常、デジタル署名プロセスで使用されます(いくつかのバイトのハッシュを生成し、秘密鍵で署名します)。 。


3

SHAでは入力の適用のみが必要ですが、AESでは少なくとも3つのものが必要です-暗号化/復号化するもの、暗号化キー、および初期化ベクトル。


1
[これは新しいユーザーが提供する古い質問に「後半の答えとしてフラグが付けられた私のコメントは、そのコンテキストである。。]これは既にこの質問に対する他の回答で提供されているものの上に任意の情報を追加するためには表示されません。
danfuzz

それは間違いです。AESを使用するために初期化ベクトル(IV)は必要ありません。AESの一部の操作モードでは、IVが必要です(まったく異なります)。
ヒルダービトールリマペレイラ2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.