質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

Q&A

解決済

1回答

251閲覧

P2Pで後出しされないジャンケンをする方法

yrema

総合スコア286

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

0グッド

0クリップ

投稿2019/03/01 19:27

ジャンケンはご存知の通り、後出しが必勝できます。
人間同士では不正行為がわかりやすいので、同時に出すことができると言えます。

ところがPC同士では通信が一瞬で行われ、どちらかが先に出さざるを得ないので、必ず先手と後手になってしまいます。
グーの通信を受け取った後手は必ずパーを出すことができます。

仲介する第三者PCがいれば、PC1からの通信とPC2から来た通信の両方を待って結果を出せるので不正はできません。

これを第三者を使わないでP2Pで不正をなくす方法はないでしょうか?


こんなことを質問して何がしたいのか?
今の作業に行き詰まって現実逃避するために雑談として質問したのです。どうか許してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wwbQzhMkhhgEmhU

2019/03/01 21:17

暗号化したグーチョキパーを互いに送って、後からその鍵を渡し合えばいいと思います。 鍵の長さを十分長くし、グーチョキパーから実際に相手が鍵を送るまでの間の時間を数秒程度に限定すれば、不正は難しい気がします。
yrema

2019/03/02 01:58

なるほど、確かにそれが良さそうですね。勉強になります。ベストアンサーとしたいので回答として投稿いただけますか?
hayataka2049

2019/03/02 03:05 編集

鍵もそうだけど、グーチョキパーも十分長くしないとそっちで衝突する気がします。鍵Aで複合するとグーに、鍵Bで復号するとチョキに、鍵Cで復号するとパーに……というのが作れたら相手のを見てから送る鍵を変えることで不正ができます。十分長くして、あとは「じゃんけんしよう」「いいよ」ってやりとりした時間の情報でも突っ込んでおくとかそれなりに工夫した方が良いのかと。
wwbQzhMkhhgEmhU

2019/03/02 06:55

確かに。まぁy_waiwaiさんのを読んだら、鯖蔵にすれば万事解決しそうな気がしました。 Aさん蔵とBさん蔵が対話する人が鯖だけなら不正のしようがないので。 ってわけでy_waiwaiさんBAでいいかと。 お返事遅れてすみません。うっかり返事したつもりになってました。
yrema

2019/03/02 07:08

あら、そうでしたか。ではそうさせていただきます。
guest

回答1

0

ベストアンサー

投げっぱなしの通信(シリアル通信とか。UDPでもコリジョンするんでダメなような)を使って、GPSかなにかのタイムベースをもとに同時に、お互いにメッセージを投げ合う、という手段を取れば不可能ではないでしょうけど、現実のネットワークを使ってやるのは難しいでしょうね。

修正欄に出ているような、出すテを暗号化しておいて、解除キーを後で配布する、というのが現実的ですね

投稿2019/03/01 22:44

編集2019/03/01 22:47
y_waiwai

総合スコア87747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yrema

2019/03/02 07:09

wwbQzhMkhhgEmhUさんからコメントでy_waiwaiさんの回答をベストアンサーにします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問