Table of Contents
RSA 暗号化は、デジタル通信の確保に広く用いられる方法です。キーのペアを生成し、メッセージを暗号化して解読するために使用します。RSA の背後にある実用的な計算を理解することで、データセキュリティの維持方法が把握できます。
主要生成プロセス
RSAの第一歩は、通常pとqとして示されている2つの大きなプライム番号を選択します。 これらのプライムは、公開鍵と秘密鍵の一部であるmodulus nを計算するために使用されます。
pとqを乗じてnを計算:n = pのxq。その後、Eulerのtotient関数、φ(n) =(p - 1)×(q - 1)を計算します。φ(n)と共存する暗号化指数eを選択することは不可欠です。 eのための一般的な選択肢は3または65537を含みます。
主の非必須dは、eモデュロφ(n)のモジュール式逆として計算されます。これは、dの溶液を式で解決することを意味します。dの×e ≡ 1(mod φ(n))。
メッセージの暗号化と復号化
メッセージを暗号化するには、0のm< nの数値形式mに変換します。 暗号テキストcは、パブリックキー(n、e):c = m^e mod nを使用して計算されます。
復号化は、元のメッセージを復元するためにプライベートキーdを使用して関与します。m = c^d mod n。 このプロセスは、プライベートキーを持つ人だけがメッセージを復号化できることを確認します。
実用的な計算例
仮定p = 61 と q = 53. n = 61 × 53 = 3233. それから, φ(n) = (61 - 1) × (53 - 1) = 60 × 52 = 3120. e = 17, 同等 3120.
d×17 ≡ 1 (mod 3120) のような d を検索します。 d の値は 2753 です。 公開鍵は (n=3233、e=17) で、秘密鍵は (n=3233、d=2753) です。
メッセージm = 65 を暗号化するには、c = 65^17 mod 3233 を計算します。 c = 2790 になります。 復号化するには、m = 2790^2753 mod 3233 を計算します。元のメッセージ65 を収めます。