• ベストアンサー

公開鍵・共通鍵・秘密鍵、どの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

  • 秘密鍵 公開鍵

    AからBへ公開鍵暗号方式でメールを送信する場合、Aはどの鍵を使うか?という問題で、解答は「Bの公開鍵」が正解なのですが、これはどうしてそういう答えになるのか、理解が出来ていません。 ご教示、よろしくお願いいたします。 また、同じAからBへ秘密鍵暗号方式でメールを送信する場合はどうなるのかも、併せてご教示頂ける 幸いです。

  • 秘密鍵暗号方式(共通鍵)について

    秘密鍵暗号方式(共通鍵)について調べているのですが 自分と同じ鍵を相手に送る際に、『鍵を相手に安全な方法で渡さなけれ ばならない』 とよく載っているのですが具体的に安全な方法とはどのような方法なのでしょうか?

  • 公開秘密鍵方式

    素因数分解の困難さを利用したRSA方式は理解できましたが 楕円曲線を利用する方式はもっと短い鍵で同レベルの安全性を確保できるようです。そこで次のことに興味が出てきました。 1.楕円曲線の離散対数問題とはその概要 2.RSAと比べて、鍵の量はどの程度で済むのでしょうか? 高校レベルの数学で何とか分かるように説明をいただけないでしょうか http://ja.wikipedia.org/wiki/%E6%A5%95%E5%86%86%E6%9B%B2%E7%B7%9A%E6%9A%97%E5%8F%B7

  • 共通鍵、暗号鍵などの具体的な使い方って?

    基本情報等で習う暗号化についてなのですが 鍵を使って暗号化するというのは理解できるのですが では実際に使ってみましょう、となるとどうすればいいのかさっぱりです。 他にもいろいろと疑問があるのですが 例えば・・・ 1、メモ帳やWordを使って文章を書いた、これを友達に送りたいが公開鍵で暗号化して送りたい!どうすればいいのか? 2、仕事で顧客にメールを送りたいが、暗号化したい。どうすれば? 3、そもそも鍵の作り方ってどうすればいいのか?   個人利用であれば何かソフトをインストールして作るのか。 4、企業などでは自社独自に鍵を生成するサーバみたいなのがあるのでしょうか? 技術的な話や論理的な話は、どの本やサイトにも解説があるのですが 実際に使う方法などの説明が全然見つからなく、全然イメージがわかないのです。 暗号化ソフトみたいなものに、暗号化したいテキストファイルを読み込ませて 鍵作成ソフトで作った鍵を指定する・・・みたいな使い方なんでしょうか? 複合の仕方も具体的に知りたいです。

  •                  公開鍵暗号方式について

                     公開鍵暗号方式について 公開鍵暗号の仕組みとメリットについて色々な解説を読んでもさっぱり理解できません。 全くの素人考えですが、「共通鍵暗号は暗号化と復号化の鍵が同じなので機密が保ちにくい」という解説を見ると 「公開鍵暗号で何故暗号化の鍵を公開する必要があるの」「公開鍵暗号で復号化の鍵を相手に知らせる際の外部に漏れるリスクは共通鍵暗号と同じじゃないの」等々の憎まれ口をたたきたくなります。 どなたか、公開鍵暗号の仕組みとメリットについて素人でも理解できる解説をしていただけませんか。

  • 共通鍵暗号の質問です

    平文Mを共通鍵k1で暗号化し、さらにそれを共通鍵k2で暗号化して暗号文Cを生成することを数式で、Ek2(Ek1(M))=C と表現します。 (質問1)上記平文M及び暗号文Cと同じものについて、Ek4(Ek3(M))=C が成立する別の鍵k3,k4が存在するような共通鍵暗号をご存知でしょうか? (質問2)存在する場合、鍵k2を別の鍵k4に変更した場合に、既知の鍵k1、k2、k4から未知の鍵k3を算出できるでしょうか? このようなことが可能な共通鍵暗号方式のアルゴリズムを探しています。 暗号に詳しい方、ご教授の程よろしくお願い致します。

  • 共通鍵暗号方式

    共通鍵暗号方式でAさんとBさんがメッセージを送る場合は、 AさんとBさん専用の共通鍵が一個あればよいと理解してるのですが、 ここで質問です。 例えば、Aさんがメッセージを共通鍵で暗号化しBさん宛に メッセージを送信しますよね。その時、いっしょに共通鍵を送りますよね? で、Bさんは送られてきたメッセージを共通鍵で復号化して読みます。 しかしまた、AさんからメッセージをBさん宛に送りたい場合は、 Bさんから共通鍵だけ送り返してもらわなければ、ダメってことで いいのでしょうか?

  • インターネット暗号化についてです

    ハイブリッド暗号方式を勉強しているのですが説明に最初に公開鍵暗号方式を利用して共通鍵を受け渡しますとあるんですが、共通鍵とは「共通鍵暗号方式」における「鍵」のことですか?それと共通鍵暗号方式と公開鍵暗号方式の説明で出てきた復号鍵とは秘密鍵と同義ですか。公開鍵は暗号化に使うものですが色々な言葉が出てきてどれかどれと同義なのか明確にしたいです。 説明下手でごめんなさい。それらの語句がはっきりしない限り、 ハイブリッド暗号方式の説明にある「最初に公開鍵暗号方式を利用して共通鍵を受け渡します。その後伝送データの暗号化は処理速度の早い共通暗号方式を利用します」という部分が理解できません。 どなたかわかる方いらっしゃいましたらお助けください。

  • 秘密かぎの分割について教えて下さい。

    情報セキュアド H18の問題です。 この問題の答えは「イ」で、私も「イ」であることには納得できているのですが、 秘密かぎなどを扱ったことがないのでイメージが沸きません。 ここでの秘密かぎというのは、不規則な文字列が並んだファイルのようなものなのでしょうか? そこでその中のファイルの一部ずつを、複数の管理者で分割して保管するという イメージであっていますか? もしご存知でしたら、教えて下さい。 よろしくお願い致します。 --問題-- 社内のセキュリティポリシで、利用者の事故に備えて秘密かぎを複合できること、及びセキュリティ管理者の不正防止のための仕組みを確立することが決められている。 電子メールで公開かぎ暗号方式を利用し、かぎの生成はセキュリティ部門が一括して行っている場合、秘密かぎの取扱いに関する記述のうち、適切なものはどれか。 ア 一人のセキュリティ管理者が、秘密かぎを暗号化して保管する。 イ 暗号化された秘密かぎのそれぞれを分割し、複数のセキュリティ管理者が分担して保管する。 ウ セキュリティ部門には、秘密かぎを一切残さない。 エ 秘密かぎの一覧表を作成して、セキュリティ部門内に限り参照できるように保管する。

  • 公開鍵暗号と共通鍵暗号について、

    公開鍵暗号と共通鍵暗号について、 http://dev.sbins.co.jp/cryptography/cryptography02.html や http://mikilab.doshisha.ac.jp/dia/research/report/2005/0909/005/report20050909005.html のレベルでは理解しているつもりです。 また、電子署名が、共通鍵暗号の仕組みで実現されていることもわかります。  他方、 ネット上でパスワードを登録・入力する場合や、 SSLが、 公開鍵暗号なのか、共通鍵暗号なのかというレベルで、 どのように実現されているのかがわかりません。  ご存じの方、よろしくお願いします。