• ベストアンサー

学校でRSA暗号について勉強して分からないところがありましたので質問し

学校でRSA暗号について勉強して分からないところがありましたので質問します。 暗号文の作成者をAさん、復号者をBさんとします。 Aさんは暗号文と公開鍵{e,n}を一般に公開しますよね? 暗号文を復号化するには秘密鍵が必要ですが、Bさんはeとnしか分からない(一般の人と得られる情報が同じ)のにどうやって秘密鍵を作成するのですか?nのもとになっている2つの素数がわからないことには秘密鍵が作成できないとおもうのですが… RSA暗号はnの素因数分解が計算量的に困難だから安全なんですよね?Bさんはどうやって2つの素数を特定するのでしょうか? 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • root_16
  • ベストアンサー率32% (674/2096)
回答No.1

公開鍵暗号方式は、 南京錠と考えると分かりやすいです。 AさんがBさんに暗号文を送る場合は、 Bさんの公開鍵を使って暗号化します。 南京錠に例えると、Bさんの南京錠で鍵をかけるわけです。 BさんはBさんの秘密鍵を持っているため 復号化できます。 Bさんの南京錠でかけられた鍵はBさんの秘密鍵で 開けられるというわけです。 これが公開鍵暗号方式のしくみですが、 どのように暗号化するか、は自由です。 RSA暗号が良く使われているだけですね。

参考URL:
http://www.atmarkit.co.jp/aig/02security/pubkey.html
ichinnn7
質問者

お礼

迅速な回答をありがとうございます。分かりやすい解説だけでなく参考URLまで付けていただきましたのでベストアンサーにさせていただきます。

その他の回答 (1)

  • ok-kaneto
  • ベストアンサー率39% (1798/4531)
回答No.2

RSA暗号方式というより、公開鍵暗号方式の話ですね。 RSAは単に暗号化アルゴリズムなので、ご質問のケースですと別のアルゴリズムでも同じことです。 >Aさんは暗号文と公開鍵{e,n}を一般に公開しますよね? 違います。鍵を作成・公開するのはBさん。 Bさんが、まず鍵(公開鍵と秘密鍵)を作ります。で、「この鍵で暗号化して送ってください」として、公開鍵を公開するのです。 AさんはBさんが公開した鍵で暗号化し、Bさんに送付します。 Bさんは受け取った暗号文を作っておいた秘密鍵で復号します。

ichinnn7
質問者

お礼

迅速な回答ありがとうございます。 そうですか。Bさんが公開鍵と秘密鍵の両方を作成するのですね。

関連するQ&A