RSA暗号化

暗号化は、何千年もの間、さまざまな形式の文明で使用されてきました。古代エジプト人から現代のインターネットまで、メッセージを暗号化および復号化するための暗号化の使用は、コミュニケーションにおいて不可欠なツールです。.

RSA暗号化(正確にはRSAアルゴリズム)は、世界で最も普及している非対称暗号化アルゴリズムです。多くの暗号化および数学的ブレークスルーによって可能になり、インターネットを使用する人は誰でも何らかの形でRSA暗号化を利用しています.

RSA暗号化

ほとんどの暗号通貨は、楕円曲線暗号として知られるRSAと同様のタイプの非対称暗号化を採用しています。違いはありますが、どちらも同様の概念に基づいており、RSAを理解することは、暗号通貨ネットワークで採用されている暗号化の理解を深めるために重要です。.

#Crypto ExchangeBenefits

1

Binance
Best exchange


VISIT SITE
  • ? The worlds biggest bitcoin exchange and altcoin crypto exchange in the world by volume.
  • Binance provides a crypto wallet for its traders, where they can store their electronic funds.

2

Coinbase
Ideal for newbies


Visit SITE
  • Coinbase is the largest U.S.-based cryptocurrency exchange, trading more than 30 cryptocurrencies.
  • Very high liquidity
  • Extremely simple user interface

3

eToro
Crypto + Trading

VISIT SITE
  • Multi-Asset Platform. Stocks, crypto, indices
  • eToro is the world’s leading social trading platform, with thousands of options for traders and investors.

暗号化の背景と対称暗号化と非対称暗号化

1970年代まで、暗号化は主に対称鍵の使用に基づいていました。対称鍵アルゴリズムでは、メッセージを相互に通信したい2人のユーザーが、平文の暗号化と暗号文の復号化の両方に同じ暗号鍵を使用します。キーは、2者間で共有される秘密を表し、プライベートな通信形式として使用できます。ただし、この設計にはいくつかの固有の問題があり、その使用にはいくつかの重大な欠点があります。.

たとえば、メッセージを暗号化および復号化するには、両方の当事者が秘密鍵を知っている必要があります。この情報を交換するために直接会う以外に、安全でない媒体を介してこれを個人的に達成するために必要なかなりの量の通信オーバーヘッドがあります。これらのチャネルを監視しているサードパーティが秘密鍵を取得できる可能性があるため、暗号化の方法が危険にさらされます。さらに、対称鍵暗号化の概念はスケーラブルではありません。暗号化されたメッセージを複数の人に送信したい場合は、それらの通信回線のそれぞれの秘密鍵を記憶する必要があります。明らかに、これは急速に不便になり、明らかに価値が交換される暗号通貨ネットワークで採用されるのに最適なモデルではありません.

これに対する解決策は、非対称暗号化として知られているもの、またはより一般的には 公開鍵暗号. 非対称暗号化では、公開鍵と秘密鍵の2つの鍵を使用します。このモデルの最も基本的な形式では、ユーザーは公開鍵を公開できます。これを使用して、他の誰もがその人に暗号化されたメッセージを送信でき、公開鍵を公開し、対応する秘密鍵を持っている人だけがこのメッセージを復号化して表示できます。一方のキーを使用すると、もう一方のキーの使用がキャンセルされ、通信を希望する当事者間でキーを交換する必要がなくなります。.

非対称暗号化モデルは、1970年に英国の数学者ジェームズエリスが突破口を開いた結果として生まれた2つの優れた原理によって可能になりました。エリスは、暗号化と復号化が2つの異なる鍵に基づく相互の逆演算であるという考えを説明しました。.

ジェームズエリス

ジェームズエリス、画像 電信.

概念は一般に南京錠と鍵で表され、南京錠は公開鍵を表し、鍵は秘密鍵を表します。この理論を実用化するために、2つの原理が進化しました.

トラップドア機能

トラップドア関数は、ある状態から別の状態に移行するのは簡単ですが、元の状態に戻って反対方向に計算することは、「トラップドア」と呼ばれる特別な情報がないと実行不可能になる暗号化において非常に重要な概念です。.

RSA暗号化の基礎となる、今日最もよく知られているトラップドア関数は、 素因数分解. 基本的に、素因数分解(整数因数分解とも呼ばれます)は、合成整数をより小さな整数に分解できるという数論の概念です。最も基本的なものに分解されるすべての合成数(非素数)は、素数で構成されます。このプロセスは素因数分解として知られており、暗号化に適用すると深刻な影響を及ぼします.

素数分解

素因数分解、から使用される画像 ウィキペディア

本質的に、非常に大きな素数の素数分解は、その最も基本的な要素に数をうまく因数分解するために必要な試行錯誤の膨大な量のために計算することが不可能になります。現在、これを実行するための効率的な因数分解アルゴリズムは存在しません.

RSAとその素因数分解の採用方法については後のセクションで説明しますが、最初にDiffie-Hellman鍵交換を理解する必要があります。.

ディフィーヘルマン鍵交換

Diffie-Hellman鍵交換は、最初の公開鍵暗号プロトコルの1つであり、基本的に、公開媒体を介して安全に暗号鍵を交換することができます。簡単にするために、Diffie-Hellman Key Exchangeの概念化と、RSAアルゴリズムの動作に関する次のセクションは、純粋数学と比較して抽象的な概念でははるかに簡単なので、必要な場合にのみ数学を適用します。.

Diffie-Hellman鍵交換を概念化するために使用される最も一般的な例は、シークレットカラー交換として知られています。.

Diffie-Helman鍵交換

Diffie-Helman Key Exchange、画像は ウィキペディア

上の写真は、イブがアリスとボブの間で公に通信されているすべてのものを聞くことができる、パブリックチャネルを介したアリスとボブの間の通信回線を表しています。では、アリスとボブは、パブリックメディアを介して情報を明示的に交換せずに、非対称暗号化を使用してプライベートメッセージを通信するにはどうすればよいでしょうか。?

彼らは実際にそれを共有することなく、お互いに秘密情報を交換します。このプロセスは次のように機能します。

ステップ1

  • アリスとボブは、黄色が一般​​的に使用される塗料であることに同意します。この情報は公開チャンネルで放送されるので、イブもこれを知っています.
  • 黄色は公開鍵を表します.
  • アリスは彼女もイエローと一緒にブルーを使用することを密かに決定し、ボブは彼がイエローと一緒にレッドを使用することを密かに決定します.
  • アリスが使用する青とボブが使用する赤は彼らの秘密鍵を表しています.

ステップ2

  • 次に、アリスとボブの両方が秘密の色と黄色を混ぜ合わせて合成色を作成します.
  • アリスのミックスはグリーンを作成し、ボブのミックスはオレンジを作成します.
  • これで、アリスとボブの両方が互いに合成色を送信します.
  • イブもこれらの色を受け取りますが、問題に直面しています。これらの合成色はトラップドア機能を表しています。.
  • 2つの色を組み合わせて3番目の色を作るのは簡単ですが、これを逆にすることは不可能です。 3番目の色と元の黄色だけから3番目の色を作成するためにどの色が使用されたかを判断することは非常に困難です.

ステップ3

  • 次に、アリスとボブは、受け取った合成色と秘密の色を混ぜ合わせて、次のようにします。.
  • アリスはブルーとボブのコンポジットオレンジを混ぜ合わせます.
  • ボブは赤とアリスの合成緑を混ぜ合わせます.
  • 両方の混合物はブラウンになります.

それがDiffie-Hellman鍵交換の秘密です。アリスとボブの両方がブラウンになってしまったとしても、実際にその色を交換することはなく、イブは秘密のメッセージを計算できるようにするために必要な秘密の色の情報がないままになります(ブラウン).

上記の例は、交換がどのように機能するかを非常に簡単に視覚化したものです。数学を適用すると、素因数分解をトラップドアとして利用するRSA暗号化により、メッセージのセキュリティと整合性が保証されます。.

RSAアルゴリズムはどのように機能しますか?

RSAアルゴリズムは、素因数分解トラップドアとDiffie-Hellman鍵交換を利用して、非対称暗号化を実現することで機能します。基本的に、RSA暗号化は、セキュリティ手法として素因数分解の難しさに依存しています。説明されている限られた数学で非常に単純化された例を使用して、RSAアルゴリズムは4つのステップを含みます.

  1. 鍵の生成–このステップでは、ユーザーは乱数ジェネレーターを使用するか、2つの非常に大きな素数(pおよびqと呼ばれる)を選択することができます。これらの番号は秘密にしておく必要があります。 n = pqを計算します。ここで、「n」は公開鍵と秘密鍵の両方の係数であり、その長さは鍵の長さと呼ばれます。 「n」を公開します。 1024ビット以上のキーサイズの場合、このアルゴリズムを効率的に解決する(非常に大きな数「n」を因数分解する)ための効率的な方法はありません。世界最大のスーパーコンピューターでさえ、それを解決するのに何千年もかかるでしょう。これはRSA問題として知られており、解決された場合、すべてのRSAベースの暗号システムが危険にさらされます。.
  2. 鍵の配布–ボブはアリスの秘密情報を送信したいので、次の手順が実行されます.
  1. ボブは、メッセージを暗号化するためにアリスの公開鍵を知っている必要があります.
  2. アリスはメッセージを復号化するために彼女の秘密鍵を知っている必要があります.
  3. ボブが暗号化されたメッセージを送信できるようにするには、アリスは公開鍵をボブに送信します.
  4. アリスは自分の秘密鍵を配布することはありません.
  • 暗号化–ボブはアリスの公開鍵を取得した後、メッセージ(M)をアリスに送信できます。まず、合意されたパディングスキームを使用して、(M)(この時点では平文メッセージ)を整数(m)に変換します。次に、アリスの公開鍵を使用して暗号文を計算し、(c)をアリスに送信します。.
  • 復号化–アリスは、秘密鍵を使用して、暗号文(c)からメッセージ(m)を復元できます。次に、(m)からパディングスキームを逆にすることで、元のメッセージ(M)を復元できます。.
  • RSAで使用される数学演算のより詳細な説明を見つけることができます ここに, しかし、この記事の範囲外です.

    さらに、RSA暗号化により、メッセージのデジタル署名が可能になります。これは、暗号通貨にとって最も重要であり、ビットコインのUTXOトランザクションモデルの重要なコンポーネントです。アリスは、ボブにメッセージをデジタル署名して、メッセージのハッシュ値を生成し、メッセージに添付することで、メッセージを送信したことを確認できます(秘密鍵が使用されたことを検証します)。この値は、同じハッシュアルゴリズムをアリスの公開鍵と組み合わせて使用​​し、結果のハッシュ値をメッセージの実際のハッシュ値と比較するボブによって検証できます。.

    結論

    RSA暗号化は、既知のアルゴリズムがまだ存在せずに高レベルの暗号化を提供できるため、世界で最も広く使用されている非対称暗号化方式です。 Diffie-Hellman鍵交換やトラップドア機能など、暗号化と数学におけるいくつかの素晴らしい進歩に基づいて、RSA暗号化は世界中の通信を保護するために最も重要になっています。.

    Mike Owergreen Administrator
    Sorry! The Author has not filled his profile.
    follow me