通用協議(九)How to Play Any Mental Game(上)

How to Play Any Mental Game [GMW86](上)

A completeness Theorem for Protocols with Honest Majority

本文主要是對[GMW86]的翻譯和思考,說是翻譯可能有不對的地方,說是思考可能有錯誤的地方,僅僅供有興趣的同學參考,如有錯誤請批評指正!

Abstract

我們提出了一個PPT算法,被作爲一個輸入描述一個遊戲在不完整的信息和任意的參與者,生成一個協議執行這個遊戲並且不泄露任何參與方的信息在多數是誠實的條件下;
我們的算法自動的解決所有的多方協議在基於計算複雜性的密碼學問題,這實際上是一個完整的理論對於這一類分佈式協議在多數誠實的情況下. 從這意義上說,這個完整的理論是最佳的,如果多數的參與者都是不誠實的,那麼一些協議問題是沒有意義的。

Introduction

“圖靈機遊戲”:有n個不用的輸入,x1,x2,…,xn; 在正確運行一個給定的圖靈機M並盡最大的可能保證隱私;也就是說,他們想要計算y = M(x1,…,xn) 並且不揭露更多關於各個輸入更多的超過從y上可以獲得更多的內容;例如,如果圖靈機計算了所有輸入的和,那麼任何其他參與者個人是不能學習到超過所有輸入之和更多內容的;這裏M可能是概率圖靈機;在這個例子中,所有的參與者想要去認同一個單一的字符串y, 在一個正確的概率分佈上,作爲M的輸出;

一個TM-game 的正確性和保密性可以藉助一個TTP來解決,每個參與者簡單的將自己的輸入給與P,P將保密的運行圖靈機M,然後公佈M的輸出;使得一個TM-game 能夠運行本質上意味着正確性和保密性能夠由這n個參與者來保證,並且不調用額外的可信第三方幫助;證明TM-game 是合理可行的覆蓋了我們通用理論的所有困難和問題;

Preliminary Definitions

設計算法描述爲:A(.) A(.,.) 其中A是算法,接受的參數爲點號表示。
RV:定義爲隨機變量,在本文中我們假設隨機變量是{0,1}* 的。實際上,我們只處理來自於概率算法的隨機變量;
PA: 定義概率多項式算法集合。

Game Networks and Distributed Algorithm

在這個遊戲中,形式上的,所有參與方組成的網絡,每一個參與方都是概率多項式時間圖靈機,每個機器有一個私有隻讀帶,私有隻寫帶,和一個私有讀寫帶。所有的機器分享一個公用的只讀輸入帶和一個公共的只寫輸出帶。這個n個機器之間通信使用n*(n-1)個帶,這個很容易理解,n個參與方,兩兩之間通信當然只有n(n-1)個帶。機器i 向機器j 發送一條消息,通過i->j 使用一個特殊的帶,只有i能寫,並且其他帶可以讀。存在一個公共的時鐘,定義了時間間隔,(這裏有一個問題,在一個分佈式系統中,到底是否該假定存在同一的時鐘?或者說同一時鐘這種技術在此處是否合適?)發送的消息從某個消息發送一定會在同一個時間戳收到消息。
一個概率多項式算法S,運行在一個遊戲網絡中,每個圖靈機運行一個算法S的副本。此處定義PDA:爲所有概率多項式分佈式算法集合。定義S屬於PDA,在運行S的網絡中。存在公共輸入,CI和自己的隱私輸入x1,x2,…xn. 然後使用HS(x1,…xn,CI)定義了RV有公共的歷史組成。這是所有的S發送的消息的集合。HS-i 定義了一個參與方的私有RV結果。其中參數列表中定義的是私有的發送的所有消息內容;OS-i 定義了RV包括第i個機器的私有輸出。

Adversaries

我們考慮兩種類型敵手:passive ones and malicious ones;

一個消極的敵手是一個機器,能夠按照預先定義的程序執行,但是它發送的消息和它輸出的消息是來源於原始程序的。一個消極的敵手可以被當做一個機器僅僅違反隱私規則。他們保持運行之前的定義的正確協議,但是也要站在另一邊跑,他們最合適的多項式算法去嘗試計算超過他們已經得到分享到的知識內容。在一個電子協議中,一個消極的敵手代表了大多數參與方的選擇,因此不會想要去破壞結果而想知道誰選擇了他們。

一個惡意的敵手,相對的,他偏離了本身預定的程序在任何可能的操作中,也就是說,允許機器替換已經存在的概率多項式算法。惡意敵手不僅僅能夠違反隱私原則並且能夠改變TM-game的輸出;

我們允許機器在遊戲網絡中去變成敵手在“dynamic fashion”上,在協議的執行期間。我們也允許敵手機器在不被檢測下進行合作;敵手機器不能被允許去監控好的機器的私有帶和內部狀態。我們相信惡意敵手的方案在所有的自然行爲中時最有挑戰性的其中密碼學也許有所幫助。

轉到開始的內容,我們展示所有的圖靈遊戲是可以運行的在任意多的消極敵手和小於一半的惡意敵手情況下;

Indistingguishability of Random Varables

在整篇的文章中,我們將僅僅只考慮 RVs U = {Uk} , k 取值與自然數集合;定義 U = {Uk} ;V = {Vk} 是RVs的兩個集合,不可區分性基於以下的事實,當k的長度增加,Uk變得可以被VK替換在下面的情況下。一個簡單的隨機數來源於來源於上述兩個集合中的某一個集合,然後用來進行評判(判斷來源於那個集合)然後輸出0,1如果是0 則來自於第一個集合,如果是1則來自於第二個集合。這是非常自然的可以說Uk變成了可以替換的通過Vk,當k足夠長的時候,當k增加,對於任意的計算便捷判定將變得沒有意義,這本質上不相關的這兩個分佈。

定義不可區分性:如下圖所示:
在這裏插入圖片描述

Tm-games with passive Adversary

圖靈遊戲在消極敵手下的應用:
一個圖靈遊戲包括一對(M,1k)一個圖靈機和一個安全參數,假設存在公共的輸入在遊戲網絡中,所有的私有輸入有一樣的輸入長度l, M的運行時間在l長度輸入,小於k.

使得S屬於PDA ; S是圖靈遊戲解決方案對於消極敵手,對於所有的圖靈遊戲給與公共輸入和所有參與方的私有輸入:x1,x2,…xn

在這裏插入圖片描述
對於上邊三個定義的解釋如下:
The agreement constraint : 所有的機器認同一個單一,公共的字符串作爲S的輸出。
The correctness constraint: 正確性確保了遊戲的輸出等於S的輸出,如果是概率性的,則進一步存在不可區分。
The privacy constraint: 隱私保護的本質就是確保消極敵手能夠獲得的內容從自己得到的輸入輸出也能夠獲得。

4.1 A New and General Oblivious Transfer Protocol

Rabin 提出了一種OT方案,這是一個概率多項式時間算法,A知道一個素數的因式分解,B只知道這個素數本身,然後A向B發送信息,B收到這個因式分解內容的概率爲二分之一,並且A不知道B是否收到了這個內容。很明顯,Rabin的OT方案假設了因子分解是困難的。在這種假設下,我們提出了一個協議如下,如果A和B至少爲消極敵手,正確的實現一個OT協議。這個協議可能是不能正常工作的(例如不在擁有一個正確的證明),如果A和B被允許是惡意的敵手,使用一個交互式證明系統例如[GMR] ,在[FMRW]中實現了一個協議能夠正確的實現OT在一個簡單的假設下(因子分解是困難的);Rabin 的方案被證明是有效的,並被應用在【Blumn】中。

一種更加通用和有用的OT爲【EGL】,這是一個二傳一協議,在這個框架中,A擁有兩個消息m0 和 m1, 通過使用一個密碼學系統E,計算C1=E(m1) ; C0=E(m0) ,然後將C0和C1發送到B;B選擇其中的一個進行解密; A 2-1 OT 協議允許B讀取其中的一個消息mi 但是A不知道B讀取的是哪一條消息;這個協議達到了普遍性的正確性,對下文內容非常重要。EGL首先實現了一個2傳1的OT協議使用公鑰密碼學系統。他們實現的優點是將OT的實現從代數設置中解放了出來。他們的協議在一定程度要求更強的假設,即是敵手是消極的。
本文提出了一個新的協議正確的實現了2傳1的OT在消極敵手情況下。陷門置換的存在足以證明我們協議的正確性;

Trap-door and One-way function

陷門和單向函數;
陷門函數的定義在[GoMiRi] 中,我們形式化的定義一個陷門置換 f 短語定義如下:

  1. 給與一個整數k, 隨機的選擇一個置換f , 其中f以k爲安全參數,存在額外的陷門信息,導致容易求逆;
  2. 簡單的隨機選取一個置換上的點;
  3. 在沒有陷門信息時是極難求出函數f的逆;

陷門函數的一個特殊例子就是單向函數,這裏存在置換滿足上述三個屬性,並且沒有陷門信息存在;

Random bits in One-Way Permutations

我們的協議使用陷門函數隱藏一個隨機比特Bf,這裏Bf 是一個多項式時間可計算的布爾函數;
我們說{Bf}是一個隨機的比特在函數族{f}中,如果所有預定的算法Alg, 輸入f = fk 和 f(x). 輸出在T(k) 步內出結果,對於Bf(x) 的猜測是正確的在概率e下,存在算法alg`, 輸入f 和 f(x),輸出x 在多項式時間下;
【這裏的內容還有待商榷,我需要在琢磨下GMW87的隨機比特定義】

GMW87 協議

A,B是概率多項式算法;
A的輸入是一對比特(b0, b1)並且他們對應的加密內容爲(E(b0),E(b1)),其中E是概率加密算法;這對加密後的內容是B的輸入,額外的B選擇一個私有的隨機比特; 即使一些參與方是消極敵手,也滿足以下的兩個屬性:

  1. B 智能讀取一個加密內容;
  2. A不能預測B讀取的是哪個內容;

協議步驟:
在這裏插入圖片描述
這個協議是滿足上邊提到的兩個屬性的:
(1)B 僅僅只能讀取自己的內容;
(2)A不能確定B到底讀取了什麼內容;
PS1:這個協議只能抵抗消極的敵手,對於惡意的敵手還需要使用額外的方法,例如在第二步中,B是清楚所有發送內容的;
PS2:這裏不用加密b0 和 b1; 在後邊將會使用加密系統來防止惡意敵手行爲;
PS3: 以上協議是針對一個比特的情況,所以任意的消息可以反覆多次執行這個協議;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章