対称キー暗号化 (または対称暗号化) は、メッセージの暗号化と復号化の両方に同じキーが使用される暗号化方式の一種です。このような情報を暗号化する方法は、政府と軍の間の秘密通信を容易にするために過去数十年にわたって主に使用されてきました。現在、対称キー アルゴリズムは、データのセキュリティを強化するためにさまざまな種類のコンピュータ システムに広く適用されています。
対称暗号化はどのように機能しますか?
対称暗号化スキームは、2 人以上のユーザー間で共有される単一の鍵に依存します。いわゆるプレーンテキスト (エンコードされるメッセージまたはデータの一部を表す) の暗号化と復号化に同じキーが使用されます。暗号化のプロセスは、暗号と呼ばれる暗号化アルゴリズムを介して平文 (入力) を実行することで構成され、暗号文 (出力) が生成されます。
暗号化方式が十分に強力であれば、暗号文に含まれる情報を読み取ったりアクセスしたりする唯一の方法は、対応するキーを使用して暗号文を復号化することです。復号化のプロセスは、基本的に暗号文を平文に戻すことです。
対称暗号化システムのセキュリティは、対応するキーをランダムに推測して総当たり攻撃することがどれだけ難しいかに基づいています。たとえば、一般的なコンピューター ハードウェアを使用して 128 ビットのキーを推測するには数十億年かかります。暗号化キーが長くなるほど、解読が難しくなります。256 ビット長のキーは一般に非常に安全で、量子コンピューターの総当たり攻撃に対して理論的に耐性があると考えられています。
現在使用されている最も一般的な対称暗号化方式の 2 つは、ブロック暗号とストリーム暗号に基づいています。ブロック暗号は、データを所定のサイズのブロックにグループ化し、各ブロックは対応するキーと暗号化アルゴリズムを使用して暗号化されます (たとえば、128 ビットのプレーンテキストは 128 ビットの暗号テキストに暗号化されます)。一方、ストリーム暗号は、プレーンテキスト データをブロックごとに暗号化するのではなく、1 ビット単位で暗号化します (1 ビットのプレーンテキストは、一度に 1 ビットの暗号テキストに暗号化されます)。
対称暗号化と非対称暗号化
対称暗号化は、現代のコンピュータ システムでデータを暗号化する 2 つの主要な方法の 1 つです。もう 1 つは非対称暗号化で、公開鍵暗号化の主な用途です。これらの方法の主な違いは、対称方式で使用される 1 つの鍵ではなく、非対称システムでは 2 つの鍵が使用されることです。鍵の 1 つは公開できますが (公開鍵)、もう 1 つは非公開にしておく必要があります (秘密鍵)。
1 つのキーではなく 2 つのキーを使用すると、対称暗号化と非対称暗号化の間にさまざまな機能上の違いが生じます。非対称アルゴリズムは対称アルゴリズムよりも複雑で、速度も遅くなります。非対称暗号化で使用される公開キーと秘密キーはある程度数学的に関連しているため、短い対称キーで提供されるのと同等のセキュリティ レベルを実現するには、キー自体もかなり長くする必要があります。
現代のコンピュータシステムでの使用
対称暗号化アルゴリズムは、データのセキュリティとユーザーのプライバシーを強化するために、多くの現代のコンピュータ システムで採用されています。安全なメッセージング アプリケーションとクラウド ストレージの両方で広く使用されている Advanced Encryption Standard (AES) は、対称暗号の代表的な例です。
ソフトウェア実装に加えて、AES はコンピュータ ハードウェアに直接実装することもできます。ハードウェア ベースの対称暗号化方式では通常、キー サイズが 256 ビットの Advanced Encryption Standard の特定のバリエーションである AES 256 が活用されます。
ビットコインのブロックチェーンは、多くの人が信じているように暗号化を使用していないことは注目に値します。代わりに、暗号化を使用せずにデジタル署名を生成する楕円曲線デジタル署名アルゴリズム (ECDSA) と呼ばれる特定の種類のデジタル署名アルゴリズム (DSA) を使用します。
よく混乱する点は、ECDSA が楕円曲線暗号 (ECC) に基づいており、暗号化、デジタル署名、疑似乱数ジェネレーターなど、複数のタスクに適用できる点です。ただし、ECDSA 自体は暗号化にはまったく使用できません。
長所と短所
対称アルゴリズムは、かなり高いレベルのセキュリティを提供すると同時に、メッセージを迅速に暗号化および復号化できます。対称システムの相対的な単純さは、非対称システムよりも少ない計算能力しか必要としないというロジスティックス上の利点でもあります。さらに、対称暗号化によって提供されるセキュリティは、キーの長さを増やすだけで拡張できます。対称キーの長さに 1 ビット追加されるごとに、ブルート フォース攻撃による暗号化の解読の難しさは指数関数的に増加します。
対称暗号化にはさまざまな利点がありますが、それに伴う大きな欠点が 1 つあります。それは、データの暗号化と復号化に使用するキーの送信に固有の問題です。これらのキーをセキュリティ保護されていない接続で共有すると、悪意のある第三者に傍受される危険性があります。権限のないユーザーが特定の対称キーにアクセスすると、そのキーを使用して暗号化されたデータのセキュリティが侵害されます。この問題を解決するために、多くの Web プロトコルでは、対称暗号化と非対称暗号化を組み合わせて安全な接続を確立しています。このようなハイブリッド システムの最も顕著な例として、現代のインターネットの大部分を保護するために使用されているトランスポート層セキュリティ (TLS) 暗号化プロトコルが挙げられます。
また、すべての種類のコンピュータ暗号化は、不適切な実装による脆弱性の影響を受けることにも留意する必要があります。十分に長いキーを使用すれば、ブルート フォース攻撃を数学的に不可能にすることができますが、プログラマーによる実装エラーによって、サイバー攻撃の道を開く弱点が生まれることがよくあります。
最後に
対称暗号化は、その相対的な速度、シンプルさ、安全性のおかげで、インターネット トラフィックのセキュリティ保護からクラウド サーバーに保存されたデータの保護まで、さまざまなアプリケーションで広く使用されています。キーを安全に転送するという問題を解決するために、非対称暗号化と組み合わせて使用されることがよくありますが、対称暗号化スキームは現代のコンピューター セキュリティの重要な要素であり続けています。



