プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

RSAアルゴリズムはどのように計算されますか?


RSAは公開鍵暗号化用の暗号システムであり、特にインターネットなどの安全でないネットワークを介して送信される場合に、機密情報を保護するために広く使用されています。

RSAアルゴリズムは、最も一般的な非対称鍵暗号化アルゴリズムであり、大きな素数を検出して乗算するだけで、それらの積を因数分解するのは複雑であるという数学的事実に依存しています。秘密鍵と公開鍵の両方が必要です。

RSAアルゴリズムの例

この手順の例を見て、概念を学びましょう。読みやすくするために、アルゴリズムの手順とともにサンプル値を書き込むことができます。

  • 2つの大きな素数PとQを選択します

    P =47、Q=17とします

  • N =PxQを計算する

    N =7 x 17=119です。

  • (P -1)x(Q – 1)

    の要素にならないように、公開鍵(つまり、暗号化鍵)Eを選択します。
    • (7-1)x(17 -1)=6 x 16 =96

      を見つけましょう
    • 96の因数は2、2、2、2、2、および3です(96 =2 x 2 x 2 x 2 x 2 x 3であるため)。

    • したがって、Eの因子が2と3にならないようにEを選択できます。Eを4(因子として2があるため)、15(因子として3があるため)、6(因子として3があるため)として選択することはできません。要因として2と3の両方があります。

    • Eを5として選択しましょう(2と3を考慮しない他の数値にすることもできます)。

  • 次の式を含む秘密鍵(つまり、復号化鍵)Dを選択します。

    (D x E)mod(P – 1)x(Q – 1)=1

    • 方程式のE、P、Qの値を代入してみましょう。

    • (D x 5)mod(7 – 1)x(17 – 1)=1です。

    • つまり、(D x 5)mod(6)x(16)=1です。

    • つまり、(D x 5)mod(96)=1

    • いくつかの計算の後、D =77とします。その場合、次のようになります。(77 x 5)mod(96)=385 mod 96=1これは私たちが望んでいたことです。

  • 暗号化の場合、次のようにプレーンテキスト(PT)から暗号文(CT)を計算します。

    CT =PT E mod N

    プレーンテキスト10を暗号化するとします。次に、

    CT =10 5 mod 119 =100000 mod 119=40。

  • CTを暗号文として受信者に送信します。

    暗号文として40を受信者に送信します。

  • 復号化の場合、暗号文(CT)からプレーンテキスト(PT)を次のように計算します。

    PT =CT D mod N

    次のことを実行します:

    PT =CT D mod N

    つまり、

    PT =40 77 mod 119 =10、これはstep5の元の平文でした。


  1. YouTube アルゴリズムの仕組み

    YouTube のおすすめセクションは、視聴者が新しい動画を探すために最も頻繁に訪れる場所です。ここにある動画は、ユーザーが視聴する可能性が最も高いと YouTube が判断した動画をクリックするように、ユーザーに合わせて調整されています。しかし、これらのビデオはどのように選ばれるのでしょうか? ほとんどの人は、このプロセスを YouTube アルゴリズムと呼んでいます。これは、サイトがどの動画をユーザーのおすすめセクションに入れるかを計算する方法です。また、ユーザーの検索結果にも影響します。したがって、このアルゴリズムがどのように機能するかを知ることは、クリエイターがより多くの視聴者にリー

  2. Instagram のアルゴリズムの仕組み

    Instagram は、人々がソーシャル メディア プラットフォームでブラウジングする方法を変えました。この画像とビデオの共有ポータルの成功を見ると、人々が従来の写真ベースのソーシャル メディア プラットフォームよりも楽しんでいることは明らかです。しかし、Instagram を使用していると、Instagram の仕組みや、Instagram のアルゴリズムがどのように機能し、本当に好きなコンテンツが表示されるのか疑問に思うことがあります。 Instagram の内部の仕組みに興味がある場合は、アルゴリズムが従う興味深い手順をいくつか共有して、プロフィールを向上させるのに役立ちます 1.エ