暗号システムは現在、対称暗号と非対称暗号の2つの主要な分野に分かれています。対称暗号化は共通鍵暗号化の同義語としてよく使用されますが、非対称暗号化には、非対称暗号化とデジタル署名という2つの主要なユースケースがあります。
したがって、暗号システムのグループは以下のように表すことができます。
この記事では、対称暗号アルゴリズムと非対称暗号アルゴリズムの2つを見ていきます。
対称暗号 vs. 非対称暗号
暗号化アルゴリズムは、多くの場合、対称暗号と非対称暗号と呼ばれる2つのカテゴリに分類されます。これら2つの暗号化方法の根本的な違いは、対称暗号化アルゴリズムが1つの鍵を使用するのに対し、非対称暗号化は2つの異なるが関連する鍵を使用するという事実に依存しています。このような区別は、一見単純ですが、2つの形式の暗号化手法とその使用方法の機能の違いを説明しています。
暗号鍵について
暗号化では、暗号化アルゴリズムは、情報の暗号化と復号化に使用するための鍵を生成します。これらの鍵の使用方法は、対称暗号と非対称暗号の違いを説明しています。
対称暗号化アルゴリズムは、暗号化機能と復号化機能の両方を実行するために同じ鍵を使用します。対照的に、非対称暗号化アルゴリズムは、1 つの鍵を使用してデータを暗号化し、データの復号化には別の鍵を使用します。非対称暗号では、暗号化に使用される鍵は公開鍵と呼ばれ、他のユーザーと自由に共有できます。一方、復号化に使用される鍵は秘密鍵であり、秘密にしておく必要があります。
例えば、アリスが対称暗号化で保護されたメッセージをボブに送信する場合、ボブがメッセージを復号化できるように、暗号化に使用したのと同じ鍵をボブと共有する必要があります。これは、悪意のある攻撃者が鍵を傍受した場合、暗号化された情報にアクセスできることを意味します。
ただし、アリスが代わりに非対称スキームを使用する場合、彼女はボブの公開鍵でメッセージを暗号化するため、ボブは自分の秘密鍵でメッセージを復号化することができます。したがって、非対称暗号化は、誰かがメッセージを傍受してボブの公開鍵を見つけたとしても、メッセージを復号化できないため、より高いレベルのセキュリティを提供します。
鍵の長さ
対称暗号と非対称暗号のもう1つの機能上の違いは、ビット単位で測定され、各暗号化アルゴリズムによって提供されるセキュリティのレベルに直接関係する鍵の長さに関連しています。
対称スキームでは、鍵はランダムに選択され、その長さは通常、必要なセキュリティレベルに応じて128ビットまたは256ビットに設定されます。ただし、非対称暗号では、公開鍵と秘密鍵の間に数学的関係が必要であり、両者の間に数学的パターンがあることを意味します。このパターンは攻撃者が暗号化を解読するために悪用される可能性があるため、同等のレベルのセキュリティを提供するには、非対称鍵をはるかに長くする必要があります。鍵の長さの違いは非常に顕著であるため、128ビットの対称鍵と2,048ビットの非対称鍵では、ほぼ同じレベルのセキュリティが提供されます。
メリットとデメリット
どちらのタイプの暗号にも、互いに長所と短所があります。対称暗号化アルゴリズムははるかに高速で、必要な計算能力も少なくて済みますが、主な弱点は鍵の配布です。情報の暗号化と復号化に同じ鍵が使用されるため、その鍵はデータにアクセスする必要があるすべてのユーザーに配布する必要があり、当然、セキュリティリスクが発生します (前述したように)。
逆に、非対称暗号化は、暗号化に公開鍵を使用し、復号化に秘密鍵を使用することで、鍵配布の問題を解決します。ただし、トレードオフは、非対称暗号化システムは対称システムと比較して非常に遅く、鍵の長さが非常に長いため、はるかに多くの計算能力を必要とすることです。
ユースケース
対称暗号
対称暗号化は速度が速いため、多くの最新のコンピューターシステムでデータを保護するために広く使用されています。たとえば、高度暗号化標準 (AES) は、機密情報を暗号化するために米国政府によって使用されます。AESは、対称暗号化の標準として1970年代に開発された以前のデータ暗号化標準 (DES) に取って代わりました。
非対称暗号
非対称暗号は、特に速度と計算能力が主な関心事ではない場合に、多くのユーザーがメッセージまたはデータセットを暗号化および復号化する必要があるシステムに適用できます。このようなシステムの一例は、公開鍵を使用してメッセージを暗号化し、秘密鍵を使用してメッセージを復号化できる暗号化された電子メールです。
ハイブリッドシステム
多くのアプリケーションでは、対称暗号と非対称暗号が一緒に使用されます。このようなハイブリッドシステムの典型的な例は、インターネット内で安全な通信を提供するように設計されたセキュリティソケット層 (SSL) およびトランスポート層セキュリティ (TLS) 暗号化プロトコルです。SSLプロトコルは現在安全ではないと見なされており、その使用を中止する必要があります。対照的に、TLSプロトコルは安全であると見なされ、すべての主要なウェブブラウザーで広く使用されています。
仮想通貨は暗号化を使用していますか?
暗号化技術は、エンドユーザーにより高いレベルのセキュリティを提供する方法として、多くの仮想通貨ウォレットで使用されています。暗号化アルゴリズムは、例えばユーザーが暗号化ウォレットのパスワードを設定するとき、つまりソフトウェアへのアクセスに使用されるファイルが暗号化されている場合に適用されます。
ただし、Bitcoinやその他の仮想通貨は公開鍵と秘密鍵のペアを利用しているため、ブロックチェーンシステムが非対称暗号化アルゴリズムを利用しているという一般的な誤解があります。ただし、前述のように、非対称暗号とデジタル署名は、非対称暗号 (公開鍵暗号) の2つの主要なユースケースです。
したがって、すべてのデジタル署名システムが公開鍵と秘密鍵を提示している場合でも、暗号化技術を利用するわけではありません。実際、メッセージは暗号化されずにデジタル署名できます。RSA は、暗号化されたメッセージの署名に使用できるアルゴリズムの一例ですが、Bitcoinで使用されるデジタル署名アルゴリズム (ECDSAと呼ばれる) は暗号をまったく使用しません。
まとめ
対称暗号と非対称暗号はどちらも、今のデジタル依存の世界で機密情報と通信を安全に保つ上で重要な役割を果たします。どちらも便利ですが、それぞれに長所と短所があるため、さまざまなアプリケーションに使用されます。暗号の科学が進化し続け、より新しく、より高度な脅威から防御するにつれて、対称暗号化システムと非対称暗号化システムの両方がコンピューターのセキュリティに関連し続ける可能性があります。