有沒有一種加密方式(一種精神撲克),兩個人可以確定他們是否彼此喜歡,而不透露他們的個人喜好?
具體來說:愛麗絲和鮑勃想知道他們是否喜歡對方,但如果對方不回報,他們不會承認。(他們是青少年,或物理學家。)他們不信任其他任何人,因此希望以密碼方式進行。
因此,如果 Alice 喜歡 Bob,則說 A->B=1,否則為 0。如果 Bob 喜歡 Alice,則 B->A=1,否則為零。他們想要計算“(A->B) AND (B->A)”,而不透露他們的個人排名。有沒有辦法可以應用以下順序:
- 愛麗絲對她的答案進行編碼(翻轉或不翻轉)並將其發送給鮑勃
- Bob 對 Alice 的偏好和他自己的偏好應用一些函式,並將答案發送回 Alice(但也可能發送一些其他資訊或計算的輸出)
- Alice 應用一些逆函式來確定A- >B 和 B->A 是否都為 1,並宣布結果,而她無法知道(或確定)B->A(不包括重複遊戲,或公主新娘風格心理論據)。
我的直覺是這無法做到(AND 運算符會破壞資訊,並且提供任何額外的輸出將允許 Alice 確定 Bob 的真實感受)但直覺很難。我正在考慮 類似於電話撲克和三通協議的解決方案。這與姚的百萬富翁問題類似但不同,它允許兩方秘密決定a>=b;在這種情況下,這還不夠(既因為它不區分 (1,1) 和 (0,0),又因為它可以讓他們快速推斷出對方的意見。
更一般地說,它可以適用於任何披露真相會有問題的情況,除非其他人在場。
欣賞任何想法!
您的具體情況的答案是否定的,它不能完成。正如評論中提到的,如果 Bob 知道他的偏好 (B->A) 並得知計算的結果是 $ 0 $ ,那麼 Bob 現在知道 Alice 的偏好,即 A->B 為 0。
你在姚的百萬富翁問題上走在了正確的軌道上。姚的百萬富翁問題只是一個具體的例子,但幾乎任何東西都可以通過使用亂碼電路安全地計算出來。
@mikeazo 是對的,如果 Bob 選擇
1
,那麼他將永遠知道 Alice 的選擇。但是,如果 Bob 選擇0
,則電路的輸出將始終為0
,因此 Bob 將無法確定 Alice 的選擇。下表顯示了當您在電路中使用不同門時向雙方透露的資訊:
和
+-------+---------+----------+--------------+--------------+ | Bob | Alice | Output | B knows A? | A knows B? | +-------+---------+----------+--------------+--------------+ | 0 | 0 | 0 | No | No | | 0 | 1 | 0 | No | Yes | | 1 | 0 | 0 | Yes | No | | 1 | 1 | 1 | Yes | Yes | +-------+---------+----------+--------------+--------------+
或者
+-------+---------+----------+--------------+--------------+ | Bob | Alice | Output | B knows A? | A knows B? | +-------+---------+----------+--------------+--------------+ | 0 | 0 | 0 | No | No | | 0 | 1 | 1 | Yes | No | | 1 | 0 | 1 | No | Yes | | 1 | 1 | 1 | No | No | +-------+---------+----------+--------------+--------------+
異或
+-------+---------+----------+--------------+--------------+ | Bob | Alice | Output | B knows A? | A knows B? | +-------+---------+----------+--------------+--------------+ | 0 | 0 | 0 | Yes | Yes | | 0 | 1 | 1 | Yes | Yes | | 1 | 0 | 1 | Yes | Yes | | 1 | 1 | 0 | Yes | Yes | +-------+---------+----------+--------------+--------------+
門對
XOR
隱私毫無用處,因為它在所有情況下都揭示了其他人的選擇。在這種OR
情況下,門也毫無用處,但可以將其添加到AND
門電路中以消除資訊不對稱。(所有輸入都顯示,除非雙方都選擇 0。)Gate 範例可用於創建安全的
AND
P2P 約會應用程序,其中兩個人只有在彼此喜歡時才會匹配。在移動應用程序的上下文中,會有一些額外的可能性來解釋負面結果。例如,其他人可能尚未查看您的個人資料,或者他們可能已解除安裝該應用程序。如果有人喜歡一個不喜歡他們的人,那麼另一個人將不知道。現實世界的好處是他們可以與他們喜歡的人互動而不會感到尷尬。也許他們可以嘗試贏得他們的支持:)