ここから本文です

公開鍵暗号について勉強している際にふと思いついたことについて質問します。 以...

アバター

ID非公開さん

2019/7/1117:22:43

公開鍵暗号について勉強している際にふと思いついたことについて質問します。
以下の説明はすべてアナログ的なものですが、これをデジタル的に実現できますか?

(前提条件)
・南京錠を2つ付けることが出来る箱(以降、箱と呼ぶ)がある
・郵便屋は差し出されたものと同じものを相手に届ける

(達成条件)
・人物Aと人物Bが事前に鍵等を共有していない
・秘密の手紙の内容が郵便屋に知られ得る状態に一度もなっていない
・人物Bは秘密の手紙を手に入れている

(手順)
1. Aは秘密の手紙を箱に入れる
2. Aは自身が持つ鍵に対応する南京錠を箱に取り付ける
3. 郵便屋は箱をAからBに届ける
4. Bは自身が持つ鍵に対応する南京錠を箱に取り付ける
5. 郵便屋は箱をBからAに届ける
6. Aは自身が持つ鍵で自身が取り付けた南京錠を解除する
7. 郵便屋は箱をAからBに届ける
8. Bは自身が持つ鍵で自身が取り付けた南京錠を解除する
9. Bは箱を開け、秘密の手紙を手に入れる

この手順により、前提条件下で達成条件を満たすことが出来るはずです。
もしこれらの手順がデジタル的にも可能なのであれば、公開鍵を用いずに秘密鍵(共通鍵)のみで同様のやり取りできるはずです。
このようなアルゴリズムはデジタル的に実現可能なのでしょうか。
また実際に実現されているのでしょうか。

回答をよろしくお願いします。

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
35
回答数:
5
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

bla********さん

リクエストマッチ

2019/7/1210:53:08

南京錠はしばしば公開鍵暗号の説明で比喩的に用いられます.
南京錠の本体が公開鍵であり,鍵が秘密鍵です.南京錠は鍵が開いた状態であれば,鍵を掛けることは誰でもできます.鍵を開けることができるのは鍵を持っている人のみです.
したがって,
1. B は南京錠を鍵が空いた状態で A に送る.(公開鍵を開示)
2. A は手紙を箱にいれて南京錠を掛け,B に送る.(公開鍵で暗号化)
3. B は自分の鍵で南京錠を開ける.(秘密鍵で復号)
で目的の操作は達成できます.これは,公開鍵暗号の方式そのものです.
提示された手順は,本質的には上記と同じです.

提示されている手順を共通鍵暗号だけで実現することはできないでしょう.
1. A は A の鍵で情報を暗号化し B に送る.
2. B は B の鍵で送られた暗号文を暗号化し A に送る.このとき,単に送られてきた暗号文を暗号化することになります(2重暗号).A の鍵が無い以上,元の情報を取り出して B の鍵で暗号化することはできない.
3. A は A の鍵で送られた暗号文を復号する.<-- これはできません.最後は,B の鍵で暗号化されているので,A の鍵では復号できません.

共通鍵暗号では,暗号化時の鍵無しに情報を復号することはできません.何らかの手段で暗号鍵を相手に知らせる必要があります.

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜4件/4件中

並び替え:回答日時の
新しい順
|古い順

zet********さん

リクエストマッチ

2019/7/1222:08:16

郵便屋が A から受け取った 箱を Bに成りすまして 自分で鍵をかけて Aに返し、それを受け取って自分の鍵で箱を開けることができる。

また、同様に郵便屋がBに対しては A になりすまして中を改ざんしてBに渡すことが可能である。

郵便屋がA , Bに成りすまして箱の中を知ることができること(あるいは改ざんできる)。
また、A が発信した箱であることが保証されてBは受け取ってはいないこと。

が問題となっている。

プロフィール画像

カテゴリマスター

kxk********さん

2019/7/1120:01:52

問題点1
1回の通信ごとに、郵便屋は暗号文と平文の完全なペアを入手できること。
たとえば、暗号鍵から生成されるビットストリームを平文とXorするような単純なアルゴリズムを用いると、5と7の差分を基にして、3から平文を解読できる。

問題点2
暗号鍵A、暗号鍵Bのいずれか一方が郵便屋に知られると、平文が解読されること。つまり、安全性は低い。

uk_********さん

2019/7/1119:20:19

郵便屋に悪意があれば、Bの代わりに鍵を掛けてAに鍵を開けさせれば中身を手に入れることができます。また、似た手順でAに成りすましてBに箱の中身を渡すことができます。
錠前がABそれぞれが持っている鍵に対応していることを確認できればいいですが、それが難しいですね。そうすると結局公開鍵方式と同じことになってしまいます。

プロフィール画像

カテゴリマスター

pri********さん

2019/7/1119:04:22

僕が郵便屋さんなら、3の時に自分で鍵を掛けて4をやったていで後続をやると思います。

Aは掛かっている鍵かけがBのものだとわからないので。

実装じたいは、2つ鍵をつけららるzipで良さそうです。
AまたはBの鍵で開けられる機会があるうえ、通信や計算コストも高くて微妙な気がします。

その上これは、解凍パスワードであって暗号化ではできない。(復号の順番的にね)のも微妙かと思います。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる