データは貴重ですが、間違った手に渡されると、個人、第三者、または組織に損害を与える可能性があります。
そのため、インターネット上でのデータの保存時や転送中にデータを保護する手段である暗号化が行われています。
この記事では、非対称暗号化について見ていきます。
始めましょう。
暗号化とは何ですか?

暗号化は、データを復号化が困難な形式 (暗号文とも呼ばれます) に変換する計算プロセスです。これは、堅牢な計算暗号化アルゴリズムに依存しています。
したがって、安全な保存または転送のためにデータをスクランブルするようにコンピュータに要求します。また、許可された当事者のみがデータにアクセスできることも意味します。
暗号化の中核には暗号キーがあります。これらは、他の暗号化パラメーターと送信者と受信者の合意に基づいて計算された、数学的に生成されたキーを持っています。
単純な暗号化の例を見てみましょう。
そこで、あなた (ボブと名付けましょう) は、暗号文が好きなインターネット友達のジョンにメッセージを送信したいと考えています。
ボブはメッセージを書き込み、データを「暗号化」して実行します。彼らが使用している暗号化アルゴリズムは単純です。まず、ボブは ASCII 値を 4 ポイントシフトして暗号文を作成します。
したがって、「A」の ASCII 値は 65 ~ 69 になり、「E」が返されます。 ASCII では、E の値は 69 です。この簡単な方法に従って、ボブはメッセージを作成し、ジョンに送信します。
ジョンとボブはエンコードとデコードの方法についてすでに合意しているため、相互にメッセージを送信できます。
したがって、ボブが「こんにちは、ジョン」と書くと、暗号文は「LIPPS0$NRLR」を返します。
ボブが送信したメッセージを復号化するプロセスは、復号化として知られています。
それを理解するには、 ASCII テーブル を調べてください。
こちらもお読みください: 試してみるべき最高のテキストから ASCII へのコンバータ

非対称暗号化とは何ですか?
非対称暗号化 (非対称暗号化とも呼ばれます) は公開キー暗号化です。ここで、アルゴリズムは 2 つのキーのペアを使用して暗号化と復号化を実行します。
- 公開キー: 公開キーはメッセージの暗号化に役立ちます。
- 秘密キー: 秘密キーはメッセージの復号化に役立ちます。秘密キーは共有不可能であり、所有者によって秘密に保たれるため、秘密キーとも呼ばれます。
では、非対称暗号化はどのように機能するのでしょうか?
前の例のボブとジョンを思い出してみましょう。
ボブは、暗号化されたメッセージをジョンに送信する方法が安全ではないことを知っていました。結局のところ、誰でも簡単に暗号化をブルートフォース攻撃することができます。
だからこそ、彼はジョンにメッセージを送信するために非対称暗号化を選択しました。
その場合、ボブはまずジョンの公開鍵を要求します。次に、彼はジョンのことをすでに知っているので、個人的に尋ねることができます。
それ以外の場合は、エンティティが公開キーを登録して共有できる公開キー ディレクトリ (PKD) があります。この方法では、安全なメッセージを送信したい人は誰でも、その人の公開鍵を入手する必要があります。
これで、ボブは非対称暗号化を使用して、送信者の公開キー (この場合はジョンの公開キー) でメッセージを暗号化できるようになります。
ジョンはメッセージを受信し、秘密キーを使用してそれを復号化できます。
一方、その逆も可能です。つまり、秘密キーを使用してデータを暗号化および復号化できるということです。
したがって、ボブが秘密鍵を使用してメッセージを暗号化した場合、ジョンはボブの公開鍵を使用してメッセージを復号化できます。

非対称暗号化が機能するには、2 つのキーにアクセスする必要があるためです。これは、暗号化と復号化の両方が 1 つのキーで実行される対称暗号化とは異なります。
非対称暗号はどのように機能しますか?
非対称暗号がどのように機能するかを明確に理解するには、それがどのように機能するかを確認する必要があります。
基礎となるプロセスは、十分に準備された数学関数を使用するアルゴリズムに大きく依存します。この関数はキー ペアの生成を処理します。
ただし、鍵の生成は送信者と受信者の合意によって異なります。
また、ほとんどのツールやプログラミング言語には、暗号化を処理するための事前定義ライブラリがすでに用意されています。したがって、非対称暗号をコーディングすることを選択した場合は、これらのライブラリを使用する必要があり、車輪の再発明に時間を無駄にする必要はありません。
ある人が暗号化されたメッセージを別の人に送信することを決定したときに行われる一般的なプロセスは次のとおりです。
➡️ 送信者と受信者は、いくつかのパラメーターに基づいて公開鍵と秘密鍵を生成します。
➡️ 次に、送信者は公開鍵ディレクトリで受信者の公開鍵を探します。
➡️ 公開キーノートを使用すると、送信者はそれを使用してメッセージを暗号化します。
➡️ 次に、それを受信者に送信し、受信者は秘密キーを使用してそれを復号化します。
➡️ 受信者はメッセージに返信するかどうかを決定でき、同じプロセスが再度実行されます (ちょうど逆の手順)。
非対称暗号化の長所
非対称暗号化には多くの利点があります。これらには次のものが含まれます。
- メッセージ認証: 非対称暗号化は優れたメッセージ認証を提供し、メッセージとその送信者を検証できます。そのため、デジタル署名は非対称暗号化の最適な使用例の 1 つです。
- 便利: 非対称暗号化の実装は、キーの配布が簡単でアクセスしやすいため便利です。公開キーには簡単にアクセスできるため、送信者は受信者の公開キーを使用してメッセージを簡単に暗号化できます。一方、受信者は自分の秘密キーを使用してメッセージを復号化できます。
- 改ざんの検出: 非対称暗号化は、転送中のあらゆる形式の改ざんも検出します。
- 否認防止を許可: 物理的に署名された文書と同様に機能するため、送信者によって否認することはできません。
次に、非対称暗号化の短所について説明します。
非対称暗号化の短所
非対称暗号化を使用すると、次のような欠点があります。
- 遅い: 非対称暗号化は遅いため、膨大なデータの転送には理想的ではありません。
- 非認証公開キー: 公開キーに自由にアクセスできるオープン モデルを提供します。ただし、一般的なキーの信頼性と個人との関連性を検証する方法はありません。これにより、ユーザーはその信頼性を検証する負担が生じます。
- 回復不可能な秘密キー: 秘密キーを回復するメカニズムはありません。紛失した場合、メッセージを復号化することはできません。
- 秘密キーが漏洩すると、セキュリティが侵害される可能性があります。 秘密キーが漏洩すると、データまたはメッセージの漏洩につながる可能性があります。
次に、非対称暗号化の使用例をいくつか見ていきます。
非対称暗号化の使用例
#1. デジタル署名
デジタル署名は今日では一般的です。彼らは Rivest-Shamir-Adleman (RSA) アルゴリズムを使用します。数学的に接続された 2 つのキー (公開キーと秘密キー) を生成します。このように、デジタル署名は秘密キーを使用して作成され、署名者の公開キーを使用して簡単に検証または復号化できます。
#2. 暗号化されたメール
電子メールはインターネット経由で安全に送信できます。電子メールのコンテンツは公開キーで暗号化され、秘密キーで復号化されます。
#3. SSL/TLS

SSL/TLS は、ネットワーク経由で通信するための安全なプロトコルです。対称暗号化と非対称暗号化を使用して、送信者と受信者の間に安全な接続を作成します。
ほとんどの場合、対称暗号化が使用されます。それでも、双方がセッション キーを生成するときに非対称暗号化を使用する必要がある場合があり、オリジン サーバーの ID を検証するために非対称暗号化が必要になります。
#4. 暗号通貨

非対称暗号の最も一般的な使用例の 1 つは暗号通貨です。ここでは、暗号化を行うために公開キーと秘密キーが使用されます。
公開キー暗号化は、公開キーが転送に利用できるため、暗号通貨とうまく機能しますが、秘密キーはトランザクションのロックを解除して暗号通貨を受け取るために機能します。非対称暗号化を使用する一般的な暗号には、ビットコインが含まれます。
#5. 暗号化されたブラウジング
ブラウザーは非対称暗号化を使用して、転送中にデータを保護することもできます。たとえば、ブラウザを開いてサイトにアクセスすると、URL の前に HTTPS プロトコルがあることに気づくでしょう。ここでの「 s」 は安全を意味します。安全な接続を実現するには、ブラウザがサーバーとハンドシェイクし、そこで両者がデータの暗号化方法を決定します。
ブラウザは対称暗号化と非対称暗号化の両方を使用してハンドシェイクを実行できます。ただし、非対称暗号化を使用すると、安全な接続を簡単に作成できます。
実際のシナリオでは、ブラウザは両方のタイプの暗号化を使用して安全な接続を実現できるほど賢いものです。
#6. 対称キー暗号化のためのキーの共有
非対称キー暗号化は、接続全体で対称キーを共有する方法としても機能します。
対称 vs.非対称暗号化
対称と非対称の違いは以下のとおりです。
非対称暗号化 | 対称暗号化 | |
キー | 機能するには 2 つのキーが必要です。公開キーはメッセージを暗号化し、秘密キーはメッセージを復号化します。その逆も可能です。 | 対称暗号化には単一のキーのみが必要です。キーはメッセージを暗号化および復号化します。 |
暗号文のサイズ | 非対称暗号化によって生成される暗号文は、メッセージと同じ長さ、またはそれ以上の長さになります。 | RSA、ECC、EL、Gamal、Diffie-Hellman など、一般的な非対称暗号化アルゴリズムが多数あります。 |
理想的な使用例 | 対称暗号化の一般的なアルゴリズムには、RC4、DES、3DES、AES などがあります。 | 対称暗号化によって生成される暗号文の長さはメッセージと同じかそれより短くなります。 |
スピードと効率。 | 暗号化プロセスは対称暗号化に比べて比較的遅くなります。これにより、大量のデータを送信する効率が低下します。 | 暗号化プロセスは、非対称暗号化よりも高速です。大量のデータを効率的に送信できます。 |
アルゴリズム | 対称暗号化の一般的なアルゴリズムには、RC4、DES、3DES、AES などがあります。 | 対称暗号化の一般的なアルゴリズムには、RC4、DES、3DES、AES などがあります。 |
キーのサイズ | キーのサイズは 2048 ビット以上にすることができます。 | キーのサイズは 128 ビットまたは 256 ビット長です。 |
目的 | 非対称暗号化は、データの暗号化、認証、安全な接続チャネルの作成に使用できます。 |
対称暗号化は、主に大量のデータ転送を行うために使用されます。
|
非対称暗号化を使用するのはどのような場合ですか?
次の場合には、非対称暗号化を使用する必要があります。
- メッセージの暗号化と送信のための、より安全なオプションを探しています。
- 非対称暗号化は低速で大規模なデータ転送には適さないため、少量のデータを送信します。
- デジタル署名を確認したいと考えています。
- あなたは暗号通貨を扱っており、身元を確認してトランザクションを承認したいと考えています。
最後の言葉
非対称暗号化はさまざまなテクノロジーの中核です。 TLS/SSL からデジタル署名の検証まで、さまざまな用途が見つかります。
さらに、すでに利用可能な暗号化ライブラリのおかげで、好みのツールとプログラミング言語で非対称暗号化を迅速に実装できます。車輪を再発明して非対称暗号を自分で記述する必要はありません。
次に、対称暗号化に関する詳細な記事を確認してください。