対称暗号化とは何ですか?

暗号化にはさまざまな部分がたくさんあります。 ただし、一部のデータを暗号化する場合は、対称暗号化アルゴリズムと非対称暗号化アルゴリズムの 2 種類のアルゴリズムを使用できます。 全体的な概念は同じで、データを暗号化できますが、異なる原理に基づいて動作し、使用例も異なります。 ただし、タイトルの違いは暗号化キーを表しています。 対称暗号化アルゴリズムは、単一の共有キーを使用してデータの暗号化と復号化の両方を行います。 非対称暗号化アルゴリズムでは、2 つのリンクされたキーを使用し、1 つは復号化用、もう 1 つは復号化用に使用されます。

対称暗号化アルゴリズムのプロパティ

前述したように、対称暗号化アルゴリズムの主要な特徴は、データの暗号化と復号化の両方に単一のキーを使用するという事実です。 これは、使用可能な暗号化キーが 1 つしかないということではありません。1 つのキーで何かを暗号化した場合、それを復号化するには同じキーを使用する必要があるだけです。 これは、共有キー暗号化と呼ばれることもあります。 これは、各参加者が同じキーを知っている必要があるため、それを共有する必要があるためです。

暗号化と復号化に同じキーを使用するこの特性は、少し問題になる可能性があります。 対称暗号化アルゴリズムを使用するには、それを安全に通信できる必要があります。 しかし、安全な通信手段をすでに持っていなければ、それを行うことはできません。 ありがたいことに、この問題は非対称暗号化で解決できますが、理解する価値はあります。

対称暗号化アルゴリズムのキーは、少なくとも非対称暗号化と比較した場合、非常に小さい傾向があります。 これにより、遅いネットワーク接続でも比較的簡単に送信でき、信頼性の低いネットワークでのエラーの影響を受けにくくなります。 対称暗号化アルゴリズムは、非対称アルゴリズムと比較しても高速です。

これらすべての特性により、対称暗号化アルゴリズムはデータの一括暗号化に特に役立ちます。 これは、速度が問題となる場合に特に当てはまります。

ストリーム暗号とブロック暗号

AES はおそらく最もよく知られた対称暗号化アルゴリズムです。 これは、大量のデータを暗号化するほぼすべてのもので使用されており、HTTPS で使用される暗号化スイートの標準部分です。 AES は 128 ビット ブロックのブロック暗号です。 ブロック暗号は、データのブロックを一度に暗号化することで機能します。 各ブロックは同じサイズでなければなりません。 残りのデータがブロック サイズよりも大きい場合はこれで問題ありませんが、ブロックを完成させるために何らかの形式のパディングを使用する必要があることを意味します。

ストリーム暗号は、一度にはるかに少量のデータ (通常は一度に 1 バイト) を暗号化することで機能します。 この概念のバリエーションとして、文字に作用する置換暗号があります。 置換暗号は頻度分析に対して脆弱であるため、通常は信頼性が低く、使用されません。 ただし、ストリーム暗号にはこの問題はありません。

対称アルゴリズムは、既知平文​​攻撃、選択平文攻撃、差分暗号解析、線形暗号解析に対して脆弱になる傾向があります。 ただし、最新のアルゴリズムはこれを念頭に置いて慎重に設計されているため、これらの問題は問題になりません。

結論

対称暗号化は、データの暗号化と復号化の両方に同じキーを使用する暗号化形式です。 場合によっては、暗号化と復号化のアルゴリズム自体が同じである場合もありますが、必ずしもそうであるとは限りません。 暗号化キーは比較的短く、送信が簡単である傾向があります。 ただし、キーはすべての関係者間で通信する必要があるため、安全なチャネルを介して送信する必要があります。 対称暗号化アルゴリズムは、非対称暗号化アルゴリズムよりもはるかに高速になる傾向があります。