RSA 暗号化アルゴリズムは、公開キー暗号化アルゴリズムの一種です。 RSA をより深く理解するために、まず公開キー暗号化アルゴリズムとは何なのかを理解しましょう。
公開鍵暗号化アルゴリズム:
公開キー暗号化アルゴリズムは、非対称アルゴリズムとも呼ばれます。非対称アルゴリズムは、送信者と受信者が暗号化と復号化に異なるキーを使用するアルゴリズムです。各送信者には次のキーのペアが割り当てられます。
の 公開鍵 暗号化に使用され、 秘密鍵 復号化に使用されます。公開キーを使用して復号化を行うことはできません。 2 つのキーはリンクされていますが、公開キーから秘密キーを導き出すことはできません。公開キーはよく知られていますが、秘密キーは秘密であり、キーを所有するユーザーのみが知っています。これは、誰もがユーザーの公開キーを使用してユーザーにメッセージを送信できることを意味します。ただし、秘密キーを使用してメッセージを復号化できるのはユーザーだけです。
公開鍵アルゴリズムは次のように動作します。
- 送信されるデータは送信者によって暗号化されます あ 対象となる受信者の公開鍵を使用する
- B は、B のみが知っている秘密キーを使用して受信した暗号文を復号します。B は、A の公開キーを使用してメッセージを暗号化して A に応答します。
- A は、自分だけが知っている秘密鍵を使用して、受信した暗号文を復号します。
RSA暗号化アルゴリズム:
RSA は、発明者の名前にちなんで名付けられた、最も一般的な公開鍵アルゴリズムです。 リベスト、シャミール、アデルマン (RSA)。
RSA アルゴリズムは、次の手順を使用して公開キーと秘密キーを生成します。
- 2 つの大きな素数 p と q 。
- これらの数値を掛けて求めます n = p x q、 どこ n は暗号化と復号化の係数と呼ばれます。
- 番号を選択してください それは 未満 n 、n が互いに素であるように、 (p - 1) x (q -1)。 だということだ それは そして (p - 1) x (q - 1) 1 以外の共通因数はありません。1 となるような 'e' を選択してください。
gcd (e,d(n)) =1 - もし n = p x q、 この場合、公開鍵は です。平文メッセージ メートル 公開鍵を使用して暗号化されます。平文から暗号文を見つけるには、次の式を使用して暗号文 C を取得します。
C = メートルそれはnに対して
ここ 、メートル 未満である必要があります n 。より大きなメッセージ (>n) はメッセージの連結として扱われ、それぞれが個別に暗号化されます。 - 秘密キーを決定するには、次の式を使用して d を計算します。
Dそれはmod {(p - 1) x (q - 1)} = 1
または
Dそれはmod φ (n) = 1 - 秘密鍵は です。暗号文メッセージ c 秘密鍵を使用して復号化されます。プレーンテキストを計算するには メートル 暗号文 c から平文 m を取得するには、次の式が使用されます。
m = cdnに対して
RSA 暗号化アルゴリズムの例をいくつか見てみましょう。
例 1:
この例では、RSA 公開キー暗号化アルゴリズムを使用して平文 9 を暗号化する方法を示します。この例では、素数 7 と 11 を使用して公開キーと秘密キーを生成します。
説明:
ステップ1: 2 つの大きな素数 p と q 。
p = 7
q = 11
ステップ2: これらの数値を掛けて求めます n = p x q、 どこ n は暗号化と復号化の係数と呼ばれます。
まず、計算します
n = p x q
n = 7 × 11
n = 77
ステップ 3: 番号を選択してください それは それ以下 n 、n が互いに素であるように、 (p - 1) x (q -1)。 だということだ それは そして (p - 1) x (q - 1) 1 以外の共通因数はありません。1 となるような 'e' を選択してください。 次に、計算します φ (n) = (p - 1) x (q-1) φ(n) = (7 - 1) x (11 - 1) φ(n)=6×10 φ(n)=60 ここで、60 の相対素数 e を 7 として選択しましょう。 したがって、公開鍵は = (7, 77) となります。 ステップ 4: 平文メッセージ メートル 公開鍵を使用して暗号化されます。平文から暗号文を見つけるには、次の式を使用して暗号文 C を取得します。 平文から暗号文を見つけるには、次の式を使用して暗号文 C を取得します。 C = メートルそれはnに対して C = 97対77 C = 37 ステップ5: 秘密鍵は です。秘密キーを決定するには、次のような式 d を使用します。 Dそれはmod {(p - 1) x (q - 1)} = 1 7d mod 60 = 1、つまり d = 43 となります。 秘密鍵は = (43, 77) です。 ステップ6: 暗号文メッセージ c 秘密鍵を使用して復号化されます。プレーンテキストを計算するには メートル 暗号文 c から平文 m を取得するには、次の式が使用されます。 m = cdnに対して m = 3743対77 m = 9 この例では、平文 = 9、暗号文 = 37 RSA 暗号システムでは、特定の A が 2 つの素数 13 と 17 を使用して公開キーと秘密キーを生成します。 A の公開鍵が 35 である場合、A の秘密鍵は…………?となります。 説明: ステップ1: 最初のステップでは、2 つの大きな素数を選択します。 p そして q 。 p = 13 q = 17 ステップ2: これらの数値を掛けて求めます n = p x q、 どこ n は暗号化と復号化の係数と呼ばれます。 まず、計算します n = p x q n = 13 × 17 n = 221 ステップ 3: 番号を選択してください それは それ以下 n 、n が互いに素であるように、 (p - 1) x (q -1)。 だということだ それは そして (p - 1) x (q - 1) 1 以外の共通因数はありません。1 となるような 'e' を選択してください。 次に、計算します φ (n) = (p - 1) x (q-1) φ(n) = (13 - 1) x (17 - 1) φ(n)=12×16 φ(n)=192 g.c.d (35, 192) = 1 ステップ 3: 秘密キーを決定するには、次の式を使用して d を計算します。 d = d を計算しますそれはmod φ (n) = 1 d = d x 35 mod 192 = 1 d = (1 + k.φ (n))/e [k =0、1、2、3………………] k = 0 と置きます d = (1 + 0 x 192)/35 d = 1/35 k = 1 と置きます d = (1 + 1 x 192)/35 d = 193/35 k = 2 と置きます d = (1 + 2 x 192)/35 d = 385/35 d = 11 秘密鍵は = (11, 221) です したがって、秘密鍵、つまり d = 11 RSA 暗号システムは、2 つの素数 3 と 13 を使用して、公開キー = 3 と秘密キー = 7 を生成します。平文の暗号文の値はどれくらいですか? 説明: ステップ1: 最初のステップでは、2 つの大きな素数を選択します。 p そして q 。 p = 3 q = 13 ステップ2: これらの数値を掛けて求めます n = p x q、 どこ n は暗号化と復号化の係数と呼ばれます。 まず、計算します n = p x q n = 3 × 13 n = 39 ステップ 3: もし n = p x q、 この場合、公開鍵は です。平文メッセージ メートル 公開鍵を使用して暗号化されます。したがって、公開鍵は = (3, 39) となります。 平文から暗号文を見つけるには、次の式を使用して暗号文 C を取得します。 C = メートルそれはnに対して C = 5339に向かって C = 125 対 39 C = 8 したがって、平文から生成される暗号文は C = 8 となります。 RSA 暗号システムは 2 つの素数 3 と 11 を使用して秘密鍵 = 7 を生成します。RSA 公開鍵暗号化アルゴリズムを使用した平文 5 の暗号文の値はいくらですか? 説明: ステップ1: 最初のステップでは、2 つの大きな素数を選択します。 p そして q 。 p = 3 q = 11 ステップ2: これらの数値を掛けて求めます n = p x q、 どこ n は暗号化と復号化の係数と呼ばれます。 まず、計算します n = p x q n = 3 × 11 n = 33 ステップ 3: 番号を選択してください それは それ以下 n 、n が互いに素であるように、 (p - 1) x (q -1)。 だということだ それは そして (p - 1) x (q - 1) 1 以外に共通因数はありません。1 となるような 'e' を選択してください。 次に、計算します φ (n) = (p - 1) x (q-1) φ(n) = (3 - 1) x (11 - 1) φ(n)=2×10 φ(n)=20 ステップ 4: 公開キーを決定するには、次の式を使用して d を計算します。 e x d = 1 mod φ (n) を計算します。 e x 7 = 1 対 20 e x 7 = 1 対 20 e = (1 + k.φ(n))/d [k =0、1、2、3………………] k = 0 と置きます e = (1 + 0 x 20) / 7 e = 1/7 k = 1 と置きます e = (1 + 1 x 20) / 7 e = 21/7 e = 3 公開鍵は = (3, 33) です したがって、公開鍵、つまり e = 3 CSSの下線テキスト
例 2:
アルファベット数字
例 3:
例 4:
私のモニターはどのくらいの大きさですか