• ベストアンサー

公開鍵・共通鍵・秘密鍵、どのQ&Aを読んでも理解できません

カテが合っているのかも不安なくらい、知識の浅い者の質問ですが、よろしくお願いします。 今、公開鍵暗号方式などの部分を勉強しているのですが、過去のQ&A(と、それらからのリンク)を読み起こしてみてもなかなか理解できず、質問させてもらいました。 鍵や暗号の原理については十分記載されていますが、具体的な使われ方についてのアンサーを見つけることができませんでした。(どこかに出ていたらすみません) 私が知りたいことは、それらの鍵暗号方式が、  実際どういうふうに使われているか、  「鍵」って具体的に何なのか です。 文献(サイト)の説明でたいてい図示されている「鍵」ですが、どんな形をしているのでしょうか。鋳造して鍵穴に差し込む本当の鍵ではないことは常識的に理解できますが、たいていの記述には「鍵」としか書かれておらず、「なんなの??」と思案に暮れています。 一部にはアルゴリズムともありましたが、私のような無知な者にはやっぱり理解できません。 どこかに申請して、「鍵をもらう」とも読みました。 「決まりごと。ルール」とも聞きました。(これがアルゴリズム?) ソフトですか? データ送信などの時、自分で何か具体的に操作するものですか? 0101レベルの段階のハナシですか?(←これだともっと分からない) もし私が利用する場合、例えばOutlook Expressを使ったメールの送受信に利用するとすれば、具体的にどんなことをすると、利用できるのでしょうか。(機種や設定などが分からないと説明がつかないなら追記します) それとも、一般人のレベルではできないことでしょうか。 長々と書いてしまってすみませんが、ともかくどのサイトを見ても「鍵」が何なのか、おバカな私にはよくわかりません。 (アルゴリズムすら理解できてない)無知な素人でも分かるようなお答えをお願いできませんでしょうか。

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

  • ベストアンサー
  • luune21
  • ベストアンサー率45% (747/1633)
回答No.3

●はじめに 鍵の実態は2進数データです。ですが、2進かどうかを気にする必要はありません。普段、私たちは「お」という文字をパソコンで読み書きできますが、実際それは、パソコンの内部では"0010010000101010"というようなデータです。しかし、表記がどうなされようとも私たちの「お」はあくまで「お」なのですから内部の2進データなど気にする必要はありません。この回答でも「お」は「お」として表記します。 ただし、ここで気にすることは、たとえ「お」とか「尾」であっても数値化している以上計算できるということです。 ●ポピュラーなRSAのアルゴリズム(※)の場合 鍵は3つの数値データからなります。ここではn,e,dとします。 ・ n は、2つの大きな素数(p,q)をかけたものです。   n=p x q ・ e は下の計算式    φ(n)=(p-1)×(q-1)    1 < e < n となるeで、φ(n)の約数ではない小さな素数(どれでもよい)    ※φ(n)は非公開 ・ d は下の計算式    ed≡1(mod φ(n))      ↓    φ(n)÷(e×d)の余りが1となるdを求めるという意味 n,eが公開鍵、n,dが秘密鍵(共通鍵)です。 「お」という文字を暗号化する場合は、   数値化した「お」をe乗して、その答えをnで割った余りを求めます。  その余りが暗号文「お」の暗号文となります。 暗号文を復号(解読)する場合は、   暗号文をe乗しして、その答えをnで割った余りを求めます。   その余りが元の文「お」になるのです。 ※アルゴリズムとはお互いの約束事のことです。野球のルールのようなものです。  このアルゴリズムが暗号に使えるのは、大きい桁の n を素因数分解してp,q を求めることがかなり困難だからです。 ↓ここで試せます。 http://herb.h.kobe-u.ac.jp/RSA.html >ソフトですか? 前述のようにソフトです。 >データ送信などの時、自分で何か具体的に操作するものですか? 何もありません。対応ソフトを使うだけです。 特にブラウザの場合はあらかじめ代表的な会社の鍵がインストールされています。実際SSL通信では、利用者が何もやっていないのに暗号化通信できていますよね。 一般的に利用者はアルゴリズムやシステムの動作を詳しく知る必要はありません。 >例えばOutlook Expressを使ったメールの送受信に利用するとすれば… メールであれば3通りの方法が考えられます。 1.PGPを使う方法(無償が多い) ↓一例、ご参考まで、他にも方法はあると思います。それなりの知識が必要です。 http://www.woo.ne.jp/hpp/sup/pgp_hp/pgp.html 2.ご加入プロバイダに「電子証明書発行サービス」などがあればそれを利用する。一番簡単でサポートが受けられ安心です。 ↓Biglobeの例 http://www.woo.ne.jp/hpp/sup/pgp_hp/pgp.html 3.その他のサービス会社を利用する ↓代表的なベリサインの例 http://www.verisign.co.jp/personal/index.html?ps=personal http://www.verisign.co.jp/personal/partner.html

mori-zo
質問者

お礼

No.2の方に対するお礼でも申し上げましたが、こういった具体性のある回答を求めていたのです! 今までのQ&Aにはそういうのがなかったんです。(私が見つけられないだけだったかもしれませんが、検索してもHitしなかったんですー) 元々こういう引き出しをたくさん持ってみえたんだとは思いますが、きっとわざわざ調べて下さったこともあったのでは・・・とも思います。 いろんな事が分かり、うれしい限りです。ありがとうございました。

その他の回答 (2)

noname#56567
noname#56567
回答No.2

ちょっと補足してもらいたい気もしますが、どの程度で説明すればいいんでしょうか? 一般的な解説をすればおそらくあなたが読み漁ってきたものと似通った説明になってしまうのですが・・・。 > 実際どういうふうに使われているか あなたがブラウジングしている時に「このページは128bit SSL暗号によって保護されています。」のようなダイアログが出たことがありませんか? これが一番いい例です。このOKWave(教えて!goo)へログインする時も、このSSL暗号で保護されています。 > データ送信などの時、自分で何か具体的に操作するものですか? エンドユーザーが操作する事はまずないです。 暗号化方法はその規格によって法則性がありますので、それに則って行われます。 確かOutlook Expressには認証方法がPOP3しかなかったような気がします。 なのでメールサーバーまでの問い合わせは平文(暗号化されていない)のまま送信されるので、悪意のある人がその情報を傍受してあなたのメールを盗み見る事も可能です。

mori-zo
質問者

お礼

>これが一番いい例です。このOKWave(教えて!goo)へログインする時も、このSSL暗号で保護されています。 おぉーっ!こういう具体性が知りたかったのです!! ありがとうございますっ!

  • outerlimit
  • ベストアンサー率26% (993/3718)
回答No.1

>実際どういうふうに使われているか 公開鍵で暗号化したものは、秘密鍵を使用しなければ(簡単には)復号できません たとえば質問者が、公開されている暗号鍵を使用して暗号化し、送付します 秘密鍵を持っているものは、秘密鍵で復号できます(質問者が送りたい情報を受けとることができる) 第三者が、暗号化された情報を受け取っても、秘密鍵が無いために復号できない(何百万年もかければ不可能ではないが) >「鍵」って具体的に何なのか です 鍵は、情報です 具体的には、数十~百十ビットのデータ(十数文字分) 利用するには 相手が、公開鍵を公開していれば、その公開鍵で暗号化して送る 自分で公開鍵を公開し、その公開鍵で暗号化して送ってもらう 二者間の暗号の場合、両者が同一の鍵を決め その鍵で暗号化/復号 します 鍵が漏れれば解読されます これが従来の暗号の使用です(六十数年前、日本軍の暗号は解読されていたなどはこの例)

mori-zo
質問者

お礼

早々にお返事くださりありがとうございます。 >具体的には、数十~百十ビットのデータ(十数文字分) やっぱり私にはもっと分からない内容のようです(TT) 一般人がやるレベルのものではないってことですね。(日本軍とか出てくるくらいだし)

関連するQ&A