惡意和增強型半誠實對手的安全性
在 Y. Lindell 和 C. Hazay 所著的 Book Efficient Secure Two-Party Protocols 的第 29 頁上,有這樣一個命題:
設 π 是一個在存在惡意對手的情況下安全地計算功能 f 的協議。然後 π 在存在增強的半誠實對手的情況下安全地計算 f。
這個命題有一個證明。在證明中,他們說消息的分佈將是相同的,因為真正的對手將完全遵循協議。但是既然一個增強的半誠實的對手可能會改變輸入,那麼消息的分佈是否也會改變?此外,為什麼不能為半誠實的對手提供類似的安全證明?
此外,增強型半誠實對手的安全定義是否類似於惡意對手的安全定義?在書中,我無法為增強的半誠實對手找到安全的正式定義。
PS:這是證明:
設 π 是在存在惡意對手的情況下安全計算 f 的協議。令 A 為增強型半誠實真實對手,令 S 為 A 的模擬器,該模擬器通過 π 的安全性保證存在(對於每個惡意 A 都存在這樣一個 S,特別是對於增強型半誠實 A) . 我們為增強半誠實設置建構了一個模擬器 S’,只需讓 S’ 執行 S。但是,為了使其工作,我們必須證明 S’ 可以做 S 可以做的所有事情。在惡意理想模型中,S 可以選擇它希望被腐敗方輸入的任何輸入;由於 S’ 是半誠實的,它也可以修改輸入。此外,S 可以導致誠實方輸出中止。然而,S’ 無法做到這一點。儘管如此,這不是問題,因為當 S 是增強型半誠實 A 的模擬器時,它可能導致誠實方以最多可忽略的機率輸出中止。為了看到這一點,請注意當兩個誠實方執行協議時,兩個輸出都不會以不可忽略的機率中止。因此,當一個誠實的一方與一個增強的半誠實的對手一起執行時,它也以最多可忽略的機率輸出 abort。這是因為它在兩種情況下接收到的消息的分佈是相同的(因為半誠實的真實對手就像誠實的一方一樣遵循協議指令)。這意味著惡意案例的模擬器在應用於增強的半誠實的真實對手時,導致中止的機率最多可以忽略不計。因此,
正如評論中所指出的,增強型半誠實攻擊者可以在協議執行開始之前更改其輸入,但從那時起,攻擊者會準確地執行協議規範。
請注意,如果一個協議對惡意對手是安全的,那麼模擬器必須能夠為改變其輸入然後誠實行事的對手工作。因此,該協議對於增強的半誠實對手也是安全的。
這對半誠實的對手不起作用的原因是因為半誠實的對手的理想**世界模擬器無法更改輸入。也就是說,在惡意對手的情況下,真正的對手和理想的模擬器都比半誠實的對手強。這一事實意味著惡意對手的安全並不一定意味著半誠實的對手的安全(因為如果理想的模擬器需要更改受害方的輸入,它就無法在半誠實的情況下執行)。在書中,我們給出了一個明確的反例協議,該協議對惡意對手是安全的,但對半誠實的對手卻不是。我知道這非常違反直覺,但這就是現實。