電子書籍の厳選無料作品が豊富!

下記のようなあるPGPメッセージが送られてきました。
-----BEGIN PGP MESSAGE-----
Version: PGP 6.5.8ckt - ja http://www.hizlab.net/pgp/
(暗号文の部分)
-----END PGP MESSAGE-----

そこで下記にあるURLを参考にして解凍できましたが、よく仕組みがわかりません。
http://www.hizlab.net/pgp/658ij.html
http://www.cla-ri.net/pgp/658jindex.html
なぜ、鍵をドメインサーバーへ送り、署名をし、そのパスフレーズを設定するだけで、PGPメッセージの解凍が可能となるのでしょうか?
暗号化は「Diffie-Hellman/DSS」を設定しました。
レスの文字や数が長くなると思いますが、ご存知の方、ご教授お付き合いください。宜しくお願い致します。

A 回答 (1件)

おはようございまーす。



>なぜ、鍵をドメインサーバーへ送り、署名をし、そのパスフレーズを設定するだけで、PGPメッセージの解凍が可能となるのでしょうか?
公開鍵の公開
http://www.cla-ri.net/pgp/658j/pgp06.html
ここの公開鍵の公開ことでいい?

(^^;;私も最近使ってないし適当な理解しかしてませんが、先ず公開鍵と秘密鍵を作りますよね。
質問者さんのPCには先ずこれらがすでにあります。
質問者さんの公開鍵で作られた暗号メールは質問者さんのPCでダブルクリックしたときにすでに(自動的に)解凍されます。これは設定次第で毎回パスワードを打つ設定と自動解凍の設定ができます。
公開鍵を渡す方法に色々あります、メールで直に(サーバーUPではなく)渡す方法。
メディアに記録し現物を渡す方法、PGPドメインサーバーにUPする方法など様々。
一番簡単なのはドメインサーバーにアップしておけば期限のついた公開鍵でも使えます。
相手がもし期限を指定してサーバーにUPしたりしておけば古いものは使えなくなり、相手にそのふるいもの(公開鍵)で作って送付しても『解読不能でーす』と連絡がきます。

いちいち更新(変更)した公開鍵を相手にお知らせするのは面倒です。
そこで!サーバにアップして最新の公開鍵で暗号してね!と言っているわけです。
質問者さんはもらった暗号を解読したけど相手に出したことはないでしょ?
これは出すと簡単にわかるんですけど、相手にPGPで暗号したメールを送るときに相手の公開鍵を持っている必要があります。
どこで手にいれますか?
相手から直接もらってもいいし、サーバーから最新のものを得るのもいいでしょう。どっちみち何にせよ必要です。
で暗号メールを作成し送りますよね。
すると相手のPCでは既に設定済みなので最新の自分のPGP公開鍵で暗号化されたメールをすぐ読めるという仕組みなわけです。
どっかほかのPGPの設定してないPCでメールを受信しても(最新の)公開鍵でも読めません。
二つの理由です。
だからこのご質問の回答は
1つはPCの設定でPGPメールをすぐ読める設定にしていること(秘密鍵の押打の必要なし)
2つめは最新のPGP公開鍵をサーバーにUPしておけばいちいち更新した、変更したお知らせをしないですむ、正しい現在使える公開鍵で作っているという理由なだけです。
まるでサーバーにUPしとけばなんでも自然にできるような仕組みにみえますがトリックはこんな感じです。サーバーUPはあくまでも最新の公開鍵をおいておく場所なだけ。
解読に関しては個々のPCのPGPの設定(パスワードの毎回押打の必要なし、でもセキュリティは甘いかもね)なだけなんです。

>暗号化は「Diffie-Hellman/DSS」を設定しました。
これは暗号の種類なので今回のことに関係ありません。
そうそう以前私が回答したものです。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1030589
何かの参考になれば。
PGPの一番早い理解は実際にやること!
相手がいない、不安だし失敗したら相手に失礼かも!と思うならマシン2台で相互に出し合うことです。でないと何がなんだかわかりにくく、でもやると簡単というのがPGP。
なのでやって覚えるのが一番ですよ。
ではでは!
    • good
    • 0
この回答へのお礼

boo_boo_suuさん、ご返答遅れてすみませんでした。
boo_boo_suuのおかげであれからいろいろ試したところ、大体理解できるようになりました。
この手の返答ができる人が少ないなか、詳しく説明したいただき、本当にありがとうございました!

お礼日時:2007/01/04 00:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!