Cryptography-with-python-understanding-rsa-algorithm

提供:Dev Guides
移動先:案内検索

RSAアルゴリズムについて

RSAアルゴリズムは公開キー暗号化技術であり、暗号化の最も安全な方法と見なされています。 1978年にRivest、Shamir、およびAdlemanによって発明されたため、 RSA アルゴリズムと名付けられました。

アルゴリズム

RSAアルゴリズムは、次の機能を保持しています-

  • RSAアルゴリズムは、素数を含む整数上の有限体で一般的な累乗法です。
  • この方法で使用される整数は十分に大きいため、解決が困難です。
  • このアルゴリズムには、秘密キーと公開キーの2つのキーセットがあります。

あなたは、RSAアルゴリズムに取り組むために次の手順を経る必要があります-

ステップ1:RSAモジュラスを生成する

最初の手順は、2つの素数、つまりpとqの選択から始まり、次に示すように、それらの積Nを計算します-

N=p*q

ここで、Nを指定された大きな数にします。

ステップ2:派生番号(e)

数eは、1より大きく、(p-1)および(q-1)未満である必要がある派生数として考えてください。 主な条件は、1を除いて(p-1)と(q-1)の共通因子がないことです。

ステップ3:公開鍵

指定された数字のペア ne がRSA公開鍵を形成し、公開されます。

ステップ4:秘密鍵

秘密鍵 d は、数値p、q、およびeから計算されます。 数字間の数学的な関係は次のとおりです-

ed = 1 mod (p-1) (q-1)

上記の式は、拡張ユークリッドアルゴリズムの基本式であり、入力パラメーターとしてpとqを取ります。

暗号化の式

公開キーが*(n、e)*である人にプレーンテキストメッセージを送信する送信者を考えます。特定のシナリオでプレーンテキストメッセージを暗号化するには、次の構文を使用します-

C = Pe mod n

復号式

復号化プロセスは非常に簡単で、体系的なアプローチで計算するための分析が含まれます。 受信者 C が秘密鍵 d を持っていることを考慮すると、結果のモジュラスは次のように計算されます-

Plaintext = Cd mod n