logo

RSA暗号化アルゴリズム

RSA 暗号化アルゴリズムは、公開キー暗号化アルゴリズムの一種です。 RSA をより深く理解するために、まず公開キー暗号化アルゴリズムとは何なのかを理解しましょう。

公開鍵暗号化アルゴリズム:

公開キー暗号化アルゴリズムは、非対称アルゴリズムとも呼ばれます。非対称アルゴリズムは、送信者と受信者が暗号化と復号化に異なるキーを使用するアルゴリズムです。各送信者には次のキーのペアが割り当てられます。

    公開鍵 秘密鍵

公開鍵 暗号化に使用され、 秘密鍵 復号化に使用されます。公開キーを使用して復号化を行うことはできません。 2 つのキーはリンクされていますが、公開キーから秘密キーを導き出すことはできません。公開キーはよく知られていますが、秘密キーは秘密であり、キーを所有するユーザーのみが知っています。これは、誰もがユーザーの公開キーを使用してユーザーにメッセージを送信できることを意味します。ただし、秘密キーを使用してメッセージを復号化できるのはユーザーだけです。

公開鍵アルゴリズムは次のように動作します。

RSA暗号化アルゴリズム
  • 送信されるデータは送信者によって暗号化されます 対象となる受信者の公開鍵を使用する
  • B は、B のみが知っている秘密キーを使用して受信した暗号文を復号します。B は、A の公開キーを使用してメッセージを暗号化して A に応答します。
  • A は、自分だけが知っている秘密鍵を使用して、受信した暗号文を復号します。

RSA暗号化アルゴリズム:

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

CSSの下線テキスト

7d mod 60 = 1、つまり d = 43 となります。

秘密鍵は = (43, 77) です。

ステップ6: 暗号文メッセージ c 秘密鍵を使用して復号化されます。プレーンテキストを計算するには メートル 暗号文 c から平文 m を取得するには、次の式が使用されます。

m = cdnに対して

m = 3743対77

m = 9

この例では、平文 = 9、暗号文 = 37

例 2:

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

例 3:

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 となります。

例 4:

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