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:公開鍵
指定された数字のペア n と e が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