姚期智院士於1982年經過 「百萬富翁問題」提出了安全雙方計算問題,「百萬富翁問題」即兩個百萬富翁如何在沒有第三者參與的狀況下,比較兩者間誰更加富有:安全
安全雙方計算可被通俗的解釋爲:有兩我的Alice和Bob,Alice掌握數a,Bob掌握數b,如何在Alice、Bob不告訴對方數a、b的具體值狀況下,共同利用數a和b進行計算。機器學習
姚期智院士在提出「百萬富翁問題」的同時,給出了三種解決辦法,並討論了在祕密投票(Secret Vote)、不經意協商(Oblivious Negotiation)、隱私查詢數據(Private Querying of Database)的應用。分佈式
以後Goldreich在1987年對安全多方計算(Secure Multi-Party Computation)進行了討論,提出了能夠計算任意函數的計算意義下安全的安全多方計算協議。 Goldreich 還從理論上證實了能夠經過通用電路(Universal Circuit)估值來實現全部的安全多方計算協議。其後於1988年,Goldreich 對安全多方計算進行了總結和安全性定義。函數
以後在1989年,Beaver等人研究了信息論安全模型下的安全多方科學計算問題,提出了能夠實現信息論安全的,複雜程度爲常數輪的安全多方算數運算協議。工具
安全多方計算兼具理論研究和實際應用價值,在電子投票、隱私保護的數據挖掘、機器學習、區塊鏈、生物數據比較、雲計算等領域有着普遍的應用前景。
現實生活中的投票選舉經過統一採用空白選派、投票箱、有公信力的計票人以及全程錄像直播等方式來確保公平公正。而在電子投票領域,投票人在家投票時,家中的計算機可能已被感染病毒,投票結果可能被惡意獲取篡改等,所以電子投票系統必須保證投票人知道本身的投票信息是否被正確提交,是否被惡意攻擊者篡改,同時要保護投票人的投票信息不被除了計票人外的其餘人獲取。安全多方計算爲這種分佈式環境下如何進行保護隱私信息和確保結果正確性的問題提供了良好解決方案。學習
Cramer等人基於ElGamal門限加密技術和零知識證實提出了首個多選一電子投票方案,以後Damgard等人基於Pailier同態加密技術提出了多選多的電子投票方案。在1992年,A.Fujioka等使用盲簽名技術提出了著名的FOO電子投票協議。區塊鏈
數據挖掘做爲一個很是有效的數據分析工具,能夠發現數據中隱含的規律,對科學和政策研究、商務決策等方面有着重要應用。然而被挖掘的數據中每每都有着大量敏感性的信息,所以必須收到保護,在隱私保護下進行數據挖掘。在多方狀況下進行數據挖掘時,參與者每每不肯意共享數據,只願意共享數據挖掘的結果,這種狀況在科學和醫學研究等方面很是常見,如各個醫療機構的病人信息是敏感信息,不會願意透露。應用安全多方計算能夠在保護各方數據信息不被泄露的同時多方協做完成數據挖掘。ui
機器學習已被應用到各個領域,引起了大量變革,如圖像和語音識別、異常檢測等。而在機器學習想要取得好的效果,須要大量數據進行模型訓練。訓練數據的隱私保護一樣是問題。在多個機構合做進行模型訓練時,數據分佈在不一樣參與者處,安全多方計算能夠在保護敏感數據的隱私性的同時讓各個機構成功進行模型訓練。雲計算
總之,當各個參與者處於分佈式環境下,又有數據隱私保護的要求時,就十分適合應用安全多方。加密