सुरक्षित बहुदलीय संगणना
सुरक्षित मल्टी-पार्टी संगणना (जिसे सुरक्षित संगणना, मल्टी-पार्टी संगणना (MPC) या गोपनीयता-संरक्षण संगणना के रूप में भी जाना जाता है) क्रिप्टोग्राफी का एक उपक्षेत्र है, जिसमें पार्टियों के लिए उन इनपुटों को रखते हुए उनके इनपुट पर संयुक्त रूप से एक फ़ंक्शन की गणना करने के तरीके बनाने का लक्ष्य है। निजी। पारंपरिक क्रिप्टोग्राफ़िक कार्यों के विपरीत, जहां क्रिप्टोग्राफी संचार या भंडारण की सुरक्षा और अखंडता का आश्वासन देती है और प्रतिकूल (क्रिप्टोग्राफी) प्रतिभागियों की प्रणाली के बाहर है (प्रेषक और रिसीवर पर एक ईव्सड्रॉपर), इस मॉडल में क्रिप्टोग्राफी एक दूसरे से प्रतिभागियों की गोपनीयता की रक्षा करती है।
1970 के दशक के उत्तरार्ध में सुरक्षित मल्टी-पार्टी संगणना की नींव मानसिक पोकर, क्रिप्टोग्राफ़िक कार्य पर काम के साथ शुरू हुई, जो किसी विश्वसनीय तृतीय पक्ष की आवश्यकता के बिना दूरियों पर गेम खेलने/कम्प्यूटेशनल कार्यों का अनुकरण करता है। परंपरागत रूप से, क्रिप्टोग्राफी सामग्री को छिपाने के बारे में थी, जबकि इस नए प्रकार की संगणना और प्रोटोकॉल डेटा के बारे में आंशिक जानकारी को छिपाने के बारे में है, जबकि कई स्रोतों से डेटा की गणना करते हुए, और सही ढंग से आउटपुट तैयार करते हैं। 1980 के दशक के अंत तक, माइकल बेन-ऑर, शफी गोल्डवेसर और एवी विगडरसन, और स्वतंत्र रूप से डेविड चाउम, क्लाउड क्रेपौ, और इवान डैमगार्ड ने पेपर प्रकाशित किए थे, जिसमें दिखाया गया था कि सुरक्षित चैनल सेटिंग में किसी भी फ़ंक्शन को सुरक्षित रूप से कैसे गणना करें।[1]
इतिहास
1970 के दशक के अंत में विशिष्ट कार्यों के लिए विशेष प्रयोजन प्रोटोकॉल शुरू हुए।[2] बाद में, सुरक्षित संगणना को औपचारिक रूप से 1982 में सुरक्षित दो-पक्ष संगणना (2PC) के रूप में पेश किया गया था (तथाकथित याओ की करोड़पतियों की समस्या | करोड़पतियों की समस्या के लिए, एक विशिष्ट समस्या जो एक बूलियन विधेय है), और सामान्य तौर पर (किसी भी व्यवहार्य के लिए) गणना) 1986 में एंड्रयू याओ द्वारा।[3][4] इस क्षेत्र को सिक्योर फंक्शन इवैल्यूएशन (SFE) भी कहा जाता है। दो पक्ष के मामले के बाद ओडेड गोल्डरेइच, सिल्वियो मिकाली और एवी विगडर्सन द्वारा बहु-पार्टी के लिए एक सामान्यीकरण किया गया। गणना एक संभावित दुर्भावनापूर्ण मामले के लिए सभी इनपुट और शून्य-ज्ञान प्रमाणों के गुप्त साझाकरण पर आधारित है, जहां दुर्भावनापूर्ण विरोधी मामले में अधिकांश ईमानदार खिलाड़ी यह आश्वासन देते हैं कि बुरे व्यवहार का पता चला है और बेईमान व्यक्ति को समाप्त करने या उसके साथ गणना जारी है। इनपुट से पता चला। इस कार्य ने सुरक्षित कंप्यूटिंग के लिए अनिवार्य रूप से भविष्य के सभी बहु-पक्षीय प्रोटोकॉल द्वारा पालन की जाने वाली बहुत ही बुनियादी सामान्य योजना का सुझाव दिया।[5] इस कार्य ने एक दृष्टिकोण प्रस्तुत किया, जिसे GMW प्रतिमान के रूप में जाना जाता है, एक बहु-पक्षीय संगणना प्रोटोकॉल को संकलित करने के लिए जो है अर्ध-ईमानदार विरोधियों के खिलाफ एक प्रोटोकॉल के लिए सुरक्षित है जो दुर्भावनापूर्ण विरोधियों के खिलाफ सुरक्षित है। इस कार्य के बाद पहले मजबूत सुरक्षित प्रोटोकॉल का पालन किया गया, जो इस उद्देश्य के लिए आविष्कार किए गए कार्य के माध्यम से किसी के आउटपुट को प्रकट किए बिना दोषपूर्ण व्यवहार को शालीनता से सहन करता है। रेफरी> ज़वी गैलील, स्टुअर्ट हैबर, मोती युंग: क्रिप्टोग्राफ़िक संगणना: सुरक्षित दोष-सहिष्णु प्रोटोकॉल और सार्वजनिक-कुंजी मॉडल। क्रिप्टो 1987: 135-155 [6]</ref> और एक प्रोटोकॉल जो किसी एक पक्ष को बिना शर्त अपना इनपुट छिपाने की अनुमति देता है। रेफ>डेविड चौम, इवान डमगार्ड, जेरोएन वैन डी ग्राफ: प्रत्येक पार्टी के इनपुट की गोपनीयता सुनिश्चित करने और परिणाम की शुद्धता सुनिश्चित करने वाली बहुदलीय संगणनाएं। 87-119 [7]</ref> GMW प्रतिमान को वर्षों से अक्षम माना जाता था क्योंकि भारी ओवरहेड्स के कारण यह आधार पर लाता है शिष्टाचार। हालांकि, यह दिखाया गया है कि कुशल प्रोटोकॉल हासिल करना संभव है, रेफरी नाम = :0 >{{Cite journal|last1=Abascal|first1=Jackson|last2=Faghihi Sereshgi|first2=Mohammad Hossein|last3=Hazay|first3=Carmit|last4=Ishai|first4=Yuval|last5=Venkitasubramaniam|first5=Muthuramakrishnan|date=2020-10-30|title=क्या शास्त्रीय GMW प्रतिमान व्यावहारिक है? गैर-संवादात्मक सक्रिय रूप से सुरक्षित 2PC का मामला|url=https://doi.org/10.1145/3372297.3423366%7Cjournal=Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security|series=CCS '20|location=Virtual Event, USA|publisher=Association for Computing Machinery|pages=1591–1605|doi=10.1145/3372297.3423366|isbn=978-1-4503-7089-9|s2cid=226228208 }</ref> और यह शोध की इस पंक्ति को व्यावहारिक दृष्टिकोण से और भी दिलचस्प बनाता है। उपरोक्त परिणाम एक ऐसे मॉडल में हैं जहां विरोधी बहुपद समय गणनाओं तक सीमित है, और यह सभी संचारों को देखता है, और इसलिए मॉडल को 'कम्प्यूटेशनल मॉडल' कहा जाता है। आगे इन कार्यों के लिए बेखबर ट्रांसफर का प्रोटोकॉल पूरा दिखाया गया। रेफरी>जो किलियन: ओब्लिवियस ट्रांसफर पर फाउंडिंग क्रिप्टोग्राफी। STOC 1988: 20-31 [8]</ref> उपरोक्त परिणामों ने स्थापित किया कि उपरोक्त विविधताओं के तहत सुरक्षित संगणना प्राप्त करना संभव है जब अधिकांश उपयोगकर्ता ईमानदार हैं।
हल करने के लिए अगला प्रश्न सुरक्षित संचार चैनलों का मामला था जहां बिंदु से बिंदु संचार विरोधी के लिए उपलब्ध नहीं है; इस मामले में यह दिखाया गया था कि 1/3 पार्टियों के दुर्व्यवहार और दुर्भावनापूर्ण होने के साथ समाधान प्राप्त किया जा सकता है, और समाधान कोई क्रिप्टोग्राफ़िक उपकरण लागू नहीं करते हैं (चूंकि सुरक्षित संचार उपलब्ध है)। रेफरी नाम = सीसीडी >D. Chaum, C. Crepeau & I. Damgard. "बहुदलीय बिना शर्त सुरक्षित प्रोटोकॉल". Stoc 1988.</ref>[6] एक ब्रॉडकास्ट चैनल जोड़ने से सिस्टम को 1/2 दुर्व्यवहार करने वाले अल्पसंख्यक तक सहन करने की अनुमति मिलती है,[7] जबकि संचार ग्राफ पर कनेक्टिविटी की बाधाओं की जांच परफेक्टली सिक्योर मैसेज ट्रांसमिशन पुस्तक में की गई थी।[8] इन वर्षों में, सामान्य उद्देश्य बहुदलीय प्रोटोकॉल की धारणा बुनियादी और सामान्य प्रोटोकॉल के गुणों की जांच करने के लिए एक उर्वर क्षेत्र बन गई, जैसे कि सक्रिय गुप्त साझाकरण के रूप में सार्वभौमिक रचना या प्रतिकूल (क्रिप्टोग्राफी)।[9] 2000 के दशक के अंत से, और निश्चित रूप से 2010 से और उसके बाद से, सामान्य प्रयोजन प्रोटोकॉल का डोमेन व्यावहारिक अनुप्रयोगों को ध्यान में रखते हुए प्रोटोकॉल के दक्षता सुधार से निपटने के लिए स्थानांतरित हो गया है। एमपीसी के लिए तेजी से कुशल प्रोटोकॉल प्रस्तावित किए गए हैं, और एमपीसी को अब विभिन्न वास्तविक जीवन की समस्याओं के लिए एक व्यावहारिक समाधान के रूप में माना जा सकता है (विशेषकर वे जिन्हें केवल रहस्यों के रैखिक साझाकरण की आवश्यकता होती है और मुख्य रूप से पार्टियों के बीच बहुत अधिक बातचीत के साथ शेयरों पर स्थानीय संचालन की आवश्यकता होती है। ), जैसे वितरित मतदान, निजी बोली और नीलामी, हस्ताक्षर या डिक्रिप्शन कार्यों को साझा करना और निजी सूचना पुनर्प्राप्ति।[10] बहुदलीय संगणना का पहला बड़े पैमाने पर और व्यावहारिक अनुप्रयोग जनवरी 2008 में हुई डेनिश चीनी चुकंदर नीलामी में एक इलेक्ट्रॉनिक डबल नीलामी का निष्पादन था।[11] जाहिर है, सैद्धांतिक धारणाएं और जांच, और अनुप्रयुक्त निर्माण दोनों की जरूरत है (उदाहरण के लिए, एमपीसी को दैनिक कारोबार के हिस्से में ले जाने की शर्तों की वकालत की गई और प्रस्तुत की गई में[12]).
2020 में, सुरक्षित-मल्टीपार्टी कंप्यूटेशन के साथ काम करने वाली कई कंपनियों ने MPC Alliance की स्थापना की, जिसका लक्ष्य MPC तकनीक की जागरूकता, स्वीकृति और अपनाने में तेजी लाना है।
परिभाषा और सिंहावलोकन
एक MPC में, प्रतिभागियों की दी गई संख्या, p1, पी2, ..., पीN, प्रत्येक के पास सूचना गोपनीयता है, क्रमशः d1, डी2, ..., डीN. प्रतिभागी उस निजी डेटा पर किसी सार्वजनिक फ़ंक्शन के मान की गणना करना चाहते हैं: F(d1, डी2, ..., डीN) अपने स्वयं के इनपुट्स को गुप्त रखते हुए।
उदाहरण के लिए, मान लें कि हमारे पास तीन पार्टियां ऐलिस, बॉब और चार्ली हैं, जिनके संबंधित इनपुट x, y और z उनके वेतन को दर्शाते हैं। वे एक-दूसरे को यह बताए बिना कि उनमें से प्रत्येक कितना कमाता है, तीन वेतनों में से उच्चतम का पता लगाना चाहते हैं। गणितीय रूप से, यह उनके लिए कंप्यूटिंग का अनुवाद करता है:
- F(x, y, z) = max(x, y, z)
अगर पार्टी के बाहर कुछ भरोसेमंद लोग थे (कहते हैं, उनका एक परस्पर मित्र टोनी था जिसे वे जानते थे कि वह गुप्त रख सकता है), तो वे प्रत्येक टोनी को अपना वेतन बता सकते हैं, वह अधिकतम गणना कर सकता है, और वह संख्या उन सभी को बता सकता है। एमपीसी का लक्ष्य एक प्रोटोकॉल डिजाइन करना है, जहां केवल एक दूसरे के साथ संदेशों का आदान-प्रदान करके, ऐलिस, बॉब और चार्ली अभी भी सीख सकते हैं F(x, y, z) यह बताए बिना कि कौन क्या बनाता है और टोनी पर भरोसा किए बिना। उन्हें अपने प्रोटोकॉल में शामिल होकर और कुछ नहीं सीखना चाहिए, जितना कि वे एक अचूक, पूरी तरह से भरोसेमंद टोनी के साथ बातचीत करके सीखेंगे।
विशेष रूप से, पार्टियां जो कुछ सीख सकती हैं, वे आउटपुट और अपने स्वयं के इनपुट से सीख सकते हैं। तो उपरोक्त उदाहरण में, यदि आउटपुट है z, तो चार्ली को पता चलता है कि उसका z अधिकतम मान है, जबकि ऐलिस और बॉब सीखते हैं (यदि x, y और z भिन्न हैं), कि उनका इनपुट अधिकतम के बराबर नहीं है, और यह कि अधिकतम धारित के बराबर है z. मूल परिदृश्य को आसानी से सामान्यीकृत किया जा सकता है जहां पार्टियों के पास कई इनपुट और आउटपुट होते हैं, और फ़ंक्शन अलग-अलग पार्टियों को अलग-अलग मान देता है।
अनौपचारिक रूप से बोलते हुए, एक बहु-पक्षीय संगणना प्रोटोकॉल का लक्ष्य सुनिश्चित करने के लिए सबसे बुनियादी गुण हैं:
- इनपुट गोपनीयता: प्रोटोकॉल के निष्पादन के दौरान भेजे गए संदेशों से पार्टियों द्वारा रखे गए निजी डेटा के बारे में कोई जानकारी प्राप्त नहीं की जा सकती है। निजी डेटा के बारे में केवल वही जानकारी निकाली जा सकती है जो केवल फ़ंक्शन के आउटपुट को देखकर अनुमान लगाया जा सकता है।
- शुद्धता: प्रोटोकॉल निष्पादन के दौरान सूचनाओं को साझा करने या निर्देशों से विचलित करने के इच्छुक प्रतिकूल साठगांठ वाले दलों का कोई भी उचित उपसमुच्चय ईमानदार पार्टियों को गलत परिणाम देने के लिए मजबूर करने में सक्षम नहीं होना चाहिए। यह शुद्धता लक्ष्य दो स्वादों में आता है: या तो ईमानदार पार्टियों को सही आउटपुट (एक मजबूत प्रोटोकॉल) की गणना करने की गारंटी दी जाती है, या वे एक त्रुटि पाते हैं (एक एमपीसी प्रोटोकॉल abort के साथ)।
व्यावहारिक अनुप्रयोगों की एक विस्तृत श्रृंखला है, जो साधारण कार्यों से भिन्न होती है जैसे सिक्का उछालना और अधिक जटिल जैसे इलेक्ट्रॉनिक नीलामी (जैसे बाजार समाशोधन मूल्य की गणना), इलेक्ट्रॉनिक मतदान, या गोपनीयता-संरक्षण डेटा खनन। करोड़पतियों की समस्या एक शास्त्रीय उदाहरण है: दो करोड़पति जानना चाहते हैं कि कौन अमीर है, इस तरह से कि उनमें से कोई भी दूसरे के निवल मूल्य को नहीं सीखता है। इस स्थिति का समाधान अनिवार्य रूप से तुलनात्मक कार्य का सुरक्षित रूप से मूल्यांकन करना है।
सुरक्षा परिभाषाएँ
प्रभावी होने के लिए एक बहु-पक्षीय संगणना प्रोटोकॉल सुरक्षित होना चाहिए। आधुनिक क्रिप्टोग्राफी में, एक प्रोटोकॉल की सुरक्षा एक सुरक्षा प्रमाण से संबंधित है। सुरक्षा प्रमाण एक गणितीय प्रमाण है जहां एक प्रोटोकॉल की सुरक्षा उसके अंतर्निहित आदिम की सुरक्षा के लिए कम हो जाती है। फिर भी, पार्टी के ज्ञान और प्रोटोकॉल की शुद्धता के आधार पर क्रिप्टोग्राफिक प्रोटोकॉल सुरक्षा सत्यापन को औपचारिक रूप देना हमेशा संभव नहीं होता है। एमपीसी प्रोटोकॉल के लिए, जिस वातावरण में प्रोटोकॉल संचालित होता है वह वास्तविक दुनिया/आदर्श विश्व प्रतिमान से जुड़ा होता है।[13] पार्टियों को कुछ भी सीखने के लिए नहीं कहा जा सकता है, क्योंकि उन्हें ऑपरेशन के आउटपुट को सीखने की जरूरत है, और आउटपुट इनपुट पर निर्भर करता है। इसके अलावा, आउटपुट शुद्धता की गारंटी नहीं है, क्योंकि आउटपुट की शुद्धता पार्टियों के इनपुट पर निर्भर करती है, और इनपुट को सही माना जाना चाहिए।
वास्तविक विश्व/आदर्श विश्व प्रतिमान दो दुनियाओं को बताता है: (i) आदर्श-विश्व मॉडल में, एक अविनाशी विश्वसनीय पार्टी मौजूद होती है, जिसे प्रत्येक प्रोटोकॉल प्रतिभागी अपना इनपुट भेजता है। यह विश्वसनीय पार्टी स्वयं फ़ंक्शन की गणना करती है और प्रत्येक पार्टी को उपयुक्त आउटपुट वापस भेजती है। (ii) इसके विपरीत, वास्तविक दुनिया के मॉडल में, कोई विश्वसनीय पक्ष नहीं है और सभी पक्ष एक दूसरे के साथ संदेशों का आदान-प्रदान कर सकते हैं। एक प्रोटोकॉल को सुरक्षित कहा जाता है यदि कोई व्यक्ति वास्तविक दुनिया में प्रत्येक पक्ष के निजी इनपुट के बारे में आदर्श दुनिया में सीख सकता है उससे अधिक नहीं सीख सकता है। आदर्श दुनिया में, पार्टियों के बीच संदेशों का आदान-प्रदान नहीं होता है, इसलिए वास्तविक दुनिया में आदान-प्रदान किए गए संदेश किसी भी गुप्त जानकारी को प्रकट नहीं कर सकते हैं।
रियल वर्ल्ड / आइडियल वर्ल्ड पैराडाइम एमपीसी की जटिलताओं का एक सरल सार प्रदान करता है ताकि एक आवेदन के निर्माण की अनुमति दी जा सके कि इसके मूल में एमपीसी प्रोटोकॉल वास्तव में एक आदर्श निष्पादन है। यदि एप्लिकेशन आदर्श मामले में सुरक्षित है, तो यह तब भी सुरक्षित है जब इसके बजाय एक वास्तविक प्रोटोकॉल चलाया जाता है।
एमपीसी प्रोटोकॉल पर सुरक्षा आवश्यकताएं कड़ी हैं। फिर भी, 1987 में यह प्रदर्शित किया गया कि दुर्भावनापूर्ण विरोधियों के लिए सुरक्षा के साथ किसी भी कार्य को सुरक्षित रूप से गणना की जा सकती है[5]और पहले उल्लिखित अन्य प्रारंभिक कार्य। इन प्रकाशनों के बावजूद, एमपीसी को उस समय अभ्यास में उपयोग करने के लिए पर्याप्त कुशल होने के लिए डिजाइन नहीं किया गया था। बिना शर्त या सूचना-सैद्धांतिक रूप से सुरक्षित एमपीसी निकटता से संबंधित है और गुप्त साझाकरण की समस्या का निर्माण करता है, और अधिक विशेष रूप से सत्यापन योग्य गुप्त साझाकरण (वीएसएस), जो कि कई सुरक्षित एमपीसी प्रोटोकॉल सक्रिय विरोधियों के खिलाफ उपयोग करते हैं।
एन्क्रिप्शन या हस्ताक्षर जैसे पारंपरिक क्रिप्टोग्राफ़िक अनुप्रयोगों के विपरीत, किसी को यह मान लेना चाहिए कि MPC प्रोटोकॉल में विरोधी सिस्टम में लगे खिलाड़ियों में से एक है (या आंतरिक पार्टियों को नियंत्रित करता है)। भ्रष्ट पार्टी या पार्टियां प्रोटोकॉल की सुरक्षा को भंग करने के लिए साठगांठ कर सकती हैं। होने देना प्रोटोकॉल में पार्टियों की संख्या हो और पार्टियों की संख्या जो प्रतिकूल हो सकती है। के मामले के लिए प्रोटोकॉल और समाधान (अर्थात, जब एक ईमानदार बहुमत मान लिया जाता है) उन लोगों से भिन्न होते हैं जहाँ ऐसी कोई धारणा नहीं बनाई जाती है। इस बाद वाले मामले में दो-पक्षीय संगणना का महत्वपूर्ण मामला शामिल है जहां प्रतिभागियों में से एक भ्रष्ट हो सकता है, और सामान्य मामला जहां असीमित संख्या में प्रतिभागी भ्रष्ट हैं और ईमानदार प्रतिभागियों पर हमला करने के लिए साठगांठ करते हैं।
विभिन्न प्रोटोकॉल का सामना करने वाले विरोधियों को प्रोटोकॉल से विचलित होने के इच्छुक होने के अनुसार वर्गीकृत किया जा सकता है। अनिवार्य रूप से दो प्रकार के विरोधी हैं, प्रत्येक सुरक्षा के विभिन्न रूपों को जन्म देता है (और प्रत्येक अलग वास्तविक दुनिया के परिदृश्य में फिट बैठता है):
- अर्ध-ईमानदार (निष्क्रिय) सुरक्षा: इस मामले में, यह माना जाता है कि भ्रष्ट पक्ष केवल प्रोटोकॉल से जानकारी एकत्र करने में सहयोग करते हैं, लेकिन प्रोटोकॉल विनिर्देश से विचलित नहीं होते हैं। यह एक भोली विरोधी मॉडल है, जो वास्तविक परिस्थितियों में कमजोर सुरक्षा प्रदान करती है। हालांकि, सुरक्षा के इस स्तर को प्राप्त करने वाले प्रोटोकॉल पार्टियों (अन्यथा सहयोग करने वाले) के बीच जानकारी के अनजाने रिसाव को रोकते हैं, और इस प्रकार उपयोगी होते हैं यदि यह एकमात्र चिंता है। इसके अलावा, अर्ध-ईमानदार मॉडल में प्रोटोकॉल काफी कुशल होते हैं, और अक्सर उच्च स्तर की सुरक्षा प्राप्त करने के लिए एक महत्वपूर्ण पहला कदम होता है।
- दुर्भावनापूर्ण (सक्रिय) सुरक्षा: इस मामले में, विरोधी धोखा देने के अपने प्रयास में मनमाने ढंग से प्रोटोकॉल निष्पादन से विचलित हो सकता है। इस मॉडल में सुरक्षा प्राप्त करने वाले प्रोटोकॉल बहुत उच्च सुरक्षा गारंटी प्रदान करते हैं। दुर्व्यवहार करने वाली पार्टियों के बहुमत के मामले में: केवल एक चीज जो एक विरोधी बेईमान बहुमत के मामले में कर सकता है वह है कि ईमानदार पार्टियों को धोखाधड़ी का पता लगाने से रोक दिया जाए। यदि ईमानदार पक्ष आउटपुट प्राप्त करते हैं, तो उन्हें गारंटी दी जाती है कि यह सही है। उनकी निजता हमेशा कायम रहती है।
सक्रिय प्रतिद्वंद्वियों के खिलाफ सुरक्षा आमतौर पर दक्षता में कमी की ओर ले जाती है जो गुप्त सुरक्षा की ओर ले जाती है,[14] सक्रिय सुरक्षा का एक आरामदेह रूप। गुप्त सुरक्षा अधिक यथार्थवादी स्थितियों को पकड़ती है, जहां सक्रिय विरोधी धोखा देने को तैयार होते हैं, लेकिन तभी जब वे पकड़े नहीं जाते हैं। उदाहरण के लिए, अन्य ईमानदार पार्टियों के साथ भविष्य के सहयोग को रोकते हुए, उनकी प्रतिष्ठा को नुकसान पहुँचाया जा सकता है। इस प्रकार, प्रोटोकॉल जो गुप्त रूप से सुरक्षित हैं, यह सुनिश्चित करने के लिए तंत्र प्रदान करते हैं कि यदि कुछ पक्ष निर्देशों का पालन नहीं करते हैं, तो यह उच्च संभावना के साथ देखा जाएगा, 75% या 90% कहते हैं। एक तरह से, गुप्त विरोधी सक्रिय होते हैं जो बाहरी गैर-क्रिप्टोग्राफ़िक (जैसे व्यवसाय) चिंताओं के कारण निष्क्रिय रूप से कार्य करने के लिए मजबूर होते हैं। यह तंत्र प्रोटोकॉल खोजने की उम्मीद में दोनों मॉडलों के बीच एक पुल स्थापित करता है जो व्यवहार में कुशल और सुरक्षित हैं।
कई क्रिप्टोग्राफ़िक प्रोटोकॉल की तरह, एमपीसी प्रोटोकॉल की सुरक्षा विभिन्न मान्यताओं पर भरोसा कर सकती है:
- यह कम्प्यूटेशनल हो सकता है (यानी कुछ गणितीय समस्या पर आधारित, जैसे फैक्टरिंग) या बिना शर्त, अर्थात् चैनलों पर संदेशों की भौतिक अनुपलब्धता पर निर्भर (आमतौर पर त्रुटि की कुछ संभावना के साथ जिसे मनमाने ढंग से छोटा किया जा सकता है)।
- मॉडल यह मान सकता है कि प्रतिभागी एक तुल्यकालन नेटवर्क का उपयोग करते हैं, जहां एक टिक पर भेजा गया संदेश हमेशा अगले टिक पर आता है, या यह कि एक सुरक्षित और विश्वसनीय प्रसारण चैनल मौजूद है, या प्रतिभागियों की प्रत्येक जोड़ी के बीच एक सुरक्षित संचार चैनल मौजूद है जहां एक विरोधी चैनल आदि में संदेशों को पढ़, संशोधित या उत्पन्न नहीं कर सकता है।
ईमानदार पार्टियों का समूह जो कम्प्यूटेशनल कार्य निष्पादित कर सकता है, एक्सेस संरचना की अवधारणा से संबंधित है। विरोधी संरचनाएं स्थिर हो सकती हैं, जहां विरोधी बहु-पक्षीय संगणना की शुरुआत से पहले अपने पीड़ितों को चुनता है, या गतिशील, जहां वह बहु-पक्षीय संगणना के निष्पादन के दौरान अपने पीड़ितों को चुनता है, जिससे बचाव कठिन हो जाता है। एक प्रतिकूल संरचना को दहलीज संरचना या अधिक जटिल संरचना के रूप में परिभाषित किया जा सकता है। थ्रेसहोल्ड संरचना में विरोधी कुछ थ्रेसहोल्ड तक कई प्रतिभागियों की स्मृति को दूषित या पढ़ सकता है। इस बीच, एक जटिल संरचना में यह प्रतिभागियों के कुछ पूर्वनिर्धारित सबसेट को प्रभावित कर सकता है, विभिन्न संभावित मिलीभगत को मॉडलिंग कर सकता है।
प्रोटोकॉल
दो पक्ष संगणना (2PC) और बहु-पक्षीय संगणना (MPC) के लिए प्रस्तावित प्रोटोकॉल के बीच प्रमुख अंतर हैं। साथ ही, अक्सर विशेष प्रयोजन के महत्व के प्रोटोकॉल के लिए एक विशेष प्रोटोकॉल जो सामान्य से विचलित होता है, को डिज़ाइन किया जाना है (मतदान, नीलामी, भुगतान, आदि)।
द्विदलीय संगणना
दो पक्ष सेटिंग विशेष रूप से दिलचस्प है, न केवल एक अनुप्रयोग परिप्रेक्ष्य से बल्कि इसलिए भी कि दो पक्ष सेटिंग में विशेष तकनीकें लागू की जा सकती हैं जो बहु-पक्ष मामले में लागू नहीं होती हैं। दरअसल, सुरक्षित मल्टी-पार्टी संगणना (वास्तव में सुरक्षित फ़ंक्शन मूल्यांकन का प्रतिबंधित मामला, जहां केवल एक फ़ंक्शन का मूल्यांकन किया जाता है) को पहली बार दो-पार्टी सेटिंग में प्रस्तुत किया गया था। मूल कार्य को अक्सर याओ के दो पत्रों में से एक के रूप में उद्धृत किया जाता है;[15] हालांकि कागजात में वास्तव में वह नहीं होता है जिसे अब गारबल्ड सर्किट के रूप में जाना जाता है। याओ का गारबल्ड सर्किट प्रोटोकॉल।
याओ का बुनियादी प्रोटोकॉल अर्ध-ईमानदार प्रतिद्वंद्वियों के खिलाफ सुरक्षित है और राउंड की संख्या के मामले में अत्यंत कुशल है, जो कि स्थिर है, और मूल्यांकन किए जा रहे लक्ष्य फ़ंक्शन से स्वतंत्र है। निश्चित लंबाई के बाइनरी में इनपुट के साथ फ़ंक्शन को बूलियन सर्किट के रूप में देखा जाता है। एक बूलियन सर्किट तीन अलग-अलग प्रकार के तारों से जुड़े फाटकों का एक संग्रह है: सर्किट-इनपुट तार, सर्किट-आउटपुट तार और मध्यवर्ती तार। प्रत्येक गेट को दो इनपुट तार प्राप्त होते हैं और इसमें एक एकल आउटपुट तार होता है जो फैन-आउट हो सकता है (अर्थात अगले स्तर पर कई गेटों को पास किया जा सकता है)। प्रत्येक गेट का बारी-बारी से मूल्यांकन करके सर्किट का सादा मूल्यांकन किया जाता है; यह मानते हुए कि फाटकों को स्थैतिक रूप से आदेशित किया गया है। गेट को एक ट्रूथ टेबल के रूप में दर्शाया जाता है जैसे कि बिट्स की प्रत्येक संभावित जोड़ी (इनपुट तारों के गेट से आने वाले) के लिए टेबल एक अद्वितीय आउटपुट बिट प्रदान करती है; जो गेट के आउटपुट वायर का मान है। मूल्यांकन के परिणाम सर्किट-आउटपुट तारों में प्राप्त बिट्स हैं।
याओ ने समझाया कि कैसे एक सर्किट (इसकी संरचना को छिपाना) को गार्बल करना है ताकि दो पक्ष, प्रेषक और रिसीवर, सर्किट के आउटपुट को सीख सकें और कुछ नहीं। एक उच्च स्तर पर, प्रेषक विकृत सर्किट तैयार करता है और इसे रिसीवर को भेजता है, जो अनजाने में सर्किट का मूल्यांकन करता है, अपने और प्रेषक दोनों के आउटपुट के अनुरूप एन्कोडिंग सीखता है। फिर वह केवल प्रेषक के एनकोडिंग को वापस भेजता है, जिससे प्रेषक को आउटपुट के अपने हिस्से की गणना करने की अनुमति मिलती है। प्रेषक रिसीवर आउटपुट एन्कोडिंग से रिसीवर को बिट्स में मैपिंग भेजता है, जिससे रिसीवर को अपना आउटपुट प्राप्त करने की अनुमति मिलती है।
अधिक विस्तार से, गारबल्ड सर्किट की गणना निम्नानुसार की जाती है। मुख्य घटक एक डबल-कुंजी वाली सममित एन्क्रिप्शन योजना है। सर्किट के एक गेट को देखते हुए, इसके इनपुट तारों (या तो 0 या 1) के प्रत्येक संभावित मान को एक यादृच्छिक संख्या (लेबल) के साथ एन्कोड किया गया है। इनपुट बिट्स की चार संभावित जोड़ी में से प्रत्येक पर गेट के मूल्यांकन से उत्पन्न मूल्यों को भी यादृच्छिक लेबल के साथ बदल दिया जाता है। गेट की विकृत सत्य तालिका में कुंजी के रूप में इसके इनपुट लेबल का उपयोग करके प्रत्येक आउटपुट लेबल के एन्क्रिप्शन होते हैं। ट्रूथ टेबल में इन चार एनक्रिप्शन की स्थिति यादृच्छिक होती है, इसलिए गेट पर कोई जानकारी लीक नहीं होती है।
प्रत्येक गारबल्ड गेट का सही मूल्यांकन करने के लिए एन्क्रिप्शन स्कीम में निम्नलिखित दो गुण होते हैं। सबसे पहले, किसी भी दो अलग-अलग कुंजियों के तहत एन्क्रिप्शन फ़ंक्शन की श्रेणियां अलग होती हैं (अत्यधिक संभावना के साथ)। दूसरी संपत्ति का कहना है कि यह कुशलतापूर्वक जांच की जा सकती है कि किसी दिए गए कुंजी के तहत दिए गए सिफरटेक्स्ट को एन्क्रिप्ट किया गया है या नहीं। इन दो गुणों के साथ रिसीवर, सभी सर्किट-इनपुट तारों के लिए लेबल प्राप्त करने के बाद, पहले यह पता लगाकर प्रत्येक गेट का मूल्यांकन कर सकता है कि उसकी लेबल कुंजियों के साथ चार सिफरटेक्स्ट में से कौन सा एन्क्रिप्ट किया गया है, और फिर आउटपुट वायर के लेबल को प्राप्त करने के लिए डिक्रिप्ट किया गया है। . यह अनजाने में किया जाता है क्योंकि मूल्यांकन के दौरान सभी रिसीवर सीखते हैं कि बिट्स के एन्कोडिंग हैं।
प्रेषक (यानी सर्किट निर्माता) इनपुट बिट्स को मूल्यांकनकर्ता को एन्कोडिंग के रूप में भेजा जा सकता है; जबकि रिसीवर के (यानी सर्किट मूल्यांकनकर्ता) उसके इनपुट बिट्स के अनुरूप एनकोडिंग 1-आउट-ऑफ-2 बेखबर स्थानांतरण (ओटी) प्रोटोकॉल के माध्यम से प्राप्त किए जाते हैं। 1-आउट-ऑफ-2 ओटी प्रोटोकॉल, प्रेषक को दो मूल्यों C1 और C2 के कब्जे में सक्षम बनाता है, रिसीवर द्वारा अनुरोधित एक को भेजने के लिए (बी {1,2} में एक मूल्य) इस तरह से कि प्रेषक करता है पता नहीं क्या मूल्य स्थानांतरित किया गया है, और रिसीवर केवल पूछे गए मूल्य को सीखता है।
यदि कोई दुर्भावनापूर्ण विरोधियों पर विचार कर रहा है, तो दोनों पक्षों के सही व्यवहार को सुनिश्चित करने के लिए और तंत्र प्रदान करने की आवश्यकता है। निर्माण के द्वारा प्रेषक के लिए सुरक्षा दिखाना आसान है यदि OT प्रोटोकॉल पहले से ही दुर्भावनापूर्ण विरोधी के खिलाफ सुरक्षित है, जैसा कि सभी रिसीवर कर सकते हैं एक विकृत सर्किट का मूल्यांकन करना है जो विफल हो जाएगायदि वह निर्देशों से विचलित हो जाता है तो प्रत्येक सर्किट-आउटपुट तार। प्रेषक के पक्ष में स्थिति बहुत भिन्न है। उदाहरण के लिए, वह एक गलत विकृत सर्किट भेज सकता है जो रिसीवर के इनपुट को प्रकट करने वाले फ़ंक्शन की गणना करता है। इसका मतलब यह होगा कि गोपनीयता अब नहीं रह गई है, लेकिन चूंकि सर्किट विकृत है, रिसीवर इसका पता लगाने में सक्षम नहीं होगा। हालांकि, इस प्रोटोकॉल को अर्ध-ईमानदार प्रोटोकॉल की तुलना में एक छोटे ओवरहेड के साथ दुर्भावनापूर्ण विरोधियों के खिलाफ सुरक्षित बनाने के लिए जीरो-नॉलेज प्रूफ को कुशलता से लागू करना संभव है।[16]
मल्टी-पार्टी प्रोटोकॉल
अधिकांश MPC प्रोटोकॉल, 2PC प्रोटोकॉल के विपरीत और विशेष रूप से निजी चैनलों की बिना शर्त सेटिंग के तहत, गुप्त साझाकरण का उपयोग करते हैं। गुप्त साझाकरण आधारित विधियों में, पार्टियां विशेष भूमिका नहीं निभाती हैं (जैसा कि याओ में, निर्माता और मूल्यांकनकर्ता की)। इसके बजाय, प्रत्येक तार से जुड़े डेटा को पार्टियों के बीच साझा किया जाता है, और फिर प्रत्येक गेट का मूल्यांकन करने के लिए एक प्रोटोकॉल का उपयोग किया जाता है। फ़ंक्शन को अब परिमित क्षेत्र पर एक सर्किट के रूप में परिभाषित किया गया है, जैसा कि याओ के लिए उपयोग किए जाने वाले बाइनरी सर्किट के विपरीत है। इस तरह के एक सर्किट को साहित्य में एक अंकगणितीय सर्किट कहा जाता है, और इसमें जोड़ और गुणन द्वार होते हैं, जहां परिचालित मूल्यों को परिमित क्षेत्र में परिभाषित किया जाता है।
गुप्त साझाकरण प्रत्येक पक्ष को शेयर वितरित करके कई पार्टियों के बीच एक रहस्य वितरित करने की अनुमति देता है। आमतौर पर दो प्रकार की गुप्त साझाकरण योजनाओं का उपयोग किया जाता है; शमीर की सीक्रेट शेयरिंग और एडिटिव सीक्रेट शेयरिंग। दोनों ही मामलों में शेयर एक परिमित क्षेत्र के यादृच्छिक तत्व हैं जो क्षेत्र में रहस्य को जोड़ते हैं; सहजता से, सुरक्षा हासिल की जाती है क्योंकि शेयरों का कोई भी गैर-योग्यता समूह बेतरतीब ढंग से वितरित दिखता है।
गुप्त साझाकरण योजनाएँ कुल पार्टियों में से टी पार्टियों को नियंत्रित करने वाले एक विरोधी को सहन कर सकती हैं, जहाँ टी योजना के आधार पर भिन्न होता है, विरोधी निष्क्रिय या सक्रिय हो सकता है, और विरोधी की शक्ति पर विभिन्न धारणाएँ बनाई जाती हैं। शमीर गुप्त साझाकरण योजना एक निष्क्रिय विरोधी के खिलाफ सुरक्षित है जब और एक सक्रिय विरोधी जब सूचना-सैद्धांतिक सुरक्षा प्राप्त करते समय, जिसका अर्थ है कि भले ही विरोधी के पास असीम कम्प्यूटेशनल शक्ति हो, वे किसी शेयर के अंतर्निहित रहस्य के बारे में कोई जानकारी नहीं सीख सकते। बीजीडब्ल्यू प्रोटोकॉल,[17] जो गुप्त शेयरों पर जोड़ और गुणा की गणना करने के तरीके को परिभाषित करता है, अक्सर शमीर गुप्त शेयरों के साथ कार्यों की गणना करने के लिए उपयोग किया जाता है। एडिटिव सीक्रेट शेयरिंग स्कीम्स एक पार्टी को छोड़कर सभी को नियंत्रित करने वाले विरोधी को सहन कर सकती हैं, अर्थात असीमित कम्प्यूटेशनल शक्ति के साथ एक निष्क्रिय और सक्रिय विरोधी के खिलाफ सुरक्षा बनाए रखते हुए। कुछ प्रोटोकॉल के लिए एक सेटअप चरण की आवश्यकता होती है, जो केवल कम्प्यूटेशनल रूप से बंधे हुए विरोधी के खिलाफ सुरक्षित हो सकता है।
कई प्रणालियों ने गुप्त साझाकरण योजनाओं के साथ एमपीसी के विभिन्न रूपों को लागू किया है। सबसे लोकप्रिय एसपीडीजेड है,[18] जो एडिटिव सीक्रेट शेयरों के साथ एमपीसी को लागू करता है और सक्रिय विरोधियों के खिलाफ सुरक्षित है।
अन्य प्रोटोकॉल
2014 में सुरक्षित संगणना में निष्पक्षता का एक मॉडल जिसमें एक विरोधी पार्टी जो आउटपुट प्राप्त करने पर रोक लगाती है, को Bitcoin नेटवर्क या निष्पक्ष लॉटरी के लिए पारस्परिक रूप से पूर्वनिर्धारित मौद्रिक दंड का भुगतान करने के लिए मजबूर किया गया है।[19]
प्रैक्टिकल एमपीसी सिस्टम
हाल के वर्षों में 2PC और MPC सिस्टम में बहुत प्रगति हुई है।
याओ आधारित प्रोटोकॉल
याओ-आधारित प्रोटोकॉल के साथ काम करते समय मुख्य मुद्दों में से एक यह है कि सुरक्षित रूप से मूल्यांकन किए जाने वाले फ़ंक्शन (जो एक मनमाना कार्यक्रम हो सकता है) को एक सर्किट के रूप में दर्शाया जाना चाहिए, जिसमें आमतौर पर XOR और AND गेट्स शामिल होते हैं। चूंकि अधिकांश वास्तविक दुनिया के कार्यक्रमों में लूप और जटिल डेटा संरचनाएं होती हैं, यह एक अत्यधिक गैर-तुच्छ कार्य है। फेयरप्ले सिस्टम[20] इस समस्या से निपटने के लिए बनाया गया पहला उपकरण था। फेयरप्ले में दो मुख्य घटक होते हैं। इनमें से पहला एक कंपाइलर है जो उपयोगकर्ताओं को सरल उच्च-स्तरीय भाषा में प्रोग्राम लिखने और इन प्रोग्रामों को बूलियन सर्किट प्रतिनिधित्व में आउटपुट करने में सक्षम बनाता है। दूसरा घटक तब सर्किट को गारबल कर सकता है और गारबल्ड सर्किट का सुरक्षित रूप से मूल्यांकन करने के लिए एक प्रोटोकॉल निष्पादित कर सकता है। साथ ही साथ याओ के प्रोटोकॉल पर आधारित दो-पक्षीय संगणना, फेयरप्ले बहु-पक्षीय प्रोटोकॉल भी कर सकता है। यह बीएमआर प्रोटोकॉल का उपयोग करके किया जाता है,[20]जो याओ के निष्क्रिय रूप से सुरक्षित प्रोटोकॉल को सक्रिय मामले तक विस्तारित करता है।
फेयरप्ले की शुरुआत के बाद के वर्षों में, सक्रिय सुरक्षा के लिए दक्षता सुधार और तकनीक दोनों के रूप में याओ के बुनियादी प्रोटोकॉल में कई सुधार किए गए हैं। इनमें मुफ्त XOR विधि जैसी तकनीकें शामिल हैं, जो XOR गेट्स के बहुत सरल मूल्यांकन की अनुमति देती हैं, और गारबल्ड रो रिडक्शन, दो इनपुट के साथ गारबल्ड टेबल के आकार को 25% तक कम कर देता है।[21] सक्रिय सुरक्षा प्राप्त करने में अब तक जो दृष्टिकोण सबसे अधिक फलदायी प्रतीत होता है, वह गार्बलिंग तकनीक और कट-एंड-चॉइस प्रतिमान के संयोजन से आता है। ऐसा लगता है कि यह संयोजन अधिक कुशल निर्माण प्रस्तुत करता है। बेईमान व्यवहार के संबंध में उपरोक्त समस्याओं से बचने के लिए, एक ही सर्किट के कई गरबों को निर्माणकर्ता से मूल्यांकनकर्ता के पास भेजा जाता है। फिर उनमें से लगभग आधे (विशिष्ट प्रोटोकॉल के आधार पर) निरंतरता की जांच करने के लिए खोले जाते हैं, और यदि ऐसा है तो बंद किए गए विशाल बहुमत उच्च संभावना के साथ सही हैं। आउटपुट सभी मूल्यांकनों का बहुमत वोट है। यहां बहुमत आउटपुट की जरूरत है। यदि आउटपुट पर असहमति है तो प्राप्तकर्ता जानता है कि प्रेषक धोखा दे रहा है, लेकिन वह शिकायत नहीं कर सकता अन्यथा यह उसके इनपुट पर जानकारी को लीक कर देगा।
लिंडेल और पिंकस द्वारा सक्रिय सुरक्षा के लिए यह दृष्टिकोण शुरू किया गया था।[22] इस तकनीक को पिंकस एट अल द्वारा लागू किया गया था। 2009 में,[21]इसने उन्नत एन्क्रिप्शन स्टैंडर्ड (एईएस) सर्किट का पहला सक्रिय रूप से सुरक्षित दो-पक्षीय मूल्यांकन प्रदान किया, जिसे अत्यधिक जटिल (लगभग 30,000 AND और XOR गेट्स से मिलकर), गैर-तुच्छ कार्य (कुछ संभावित अनुप्रयोगों के साथ) के रूप में माना जाता है। गणना करने के लिए 20 मिनट और प्राप्त करने के लिए 160 सर्किट की आवश्यकता होती है धोखा देने की संभावना।
जितने सर्किट का मूल्यांकन किया जाता है, पार्टियों (रिसीवर सहित) को यह सुनिश्चित करने के लिए अपने इनपुट के लिए प्रतिबद्ध होना चाहिए कि सभी पुनरावृत्तियों में समान मान का उपयोग किया जाता है। पिंकस एट अल के प्रयोग। की सूचना दी[21]दिखाएं कि प्रोटोकॉल की बाधा स्थिरता जांच में निहित है। एईएस सर्किट का मूल्यांकन करने के लिए उन्हें विभिन्न मूल्यों के बारे में 6,553,600 प्रतिबद्धताओं को नेट पर भेजना था। हाल के नतीजों में[23] सक्रिय रूप से सुरक्षित याओ-आधारित कार्यान्वयन की दक्षता में और भी सुधार किया गया, जिसके लिए केवल 40 सर्किटों की आवश्यकता थी, और प्राप्त करने के लिए बहुत कम प्रतिबद्धताएं थीं। धोखा देने की संभावना। संचरित परिपथों पर कट-एंड-चॉइस करने के लिए नई कार्यप्रणालियों से सुधार आया है।
हाल ही में, गारबल्ड सर्किट पर आधारित अत्यधिक समानांतर कार्यान्वयन पर ध्यान केंद्रित किया गया है, जिसे कई कोर के साथ सेंट्रल प्रोसेसिंग यूनिट पर चलाने के लिए डिज़ाइन किया गया है। क्रेउटर, एट अल।[24] एक शक्तिशाली क्लस्टर कंप्यूटर के 512 कोर पर चलने वाले कार्यान्वयन का वर्णन करें। इन संसाधनों का उपयोग करके वे 4095-बिट दूरी संपादित करें फंक्शन का मूल्यांकन कर सकते हैं, जिसके सर्किट में लगभग 6 बिलियन गेट शामिल हैं। इसे पूरा करने के लिए उन्होंने फेयरप्ले की तुलना में एक कस्टम, बेहतर अनुकूलित सर्किट कंपाइलर और पाइपलाइनिंग जैसे कई नए अनुकूलन विकसित किए, जिससे पूरे नेटवर्क में गारबल्ड सर्किट का प्रसारण शुरू हो गया, जबकि बाकी सर्किट अभी भी उत्पन्न हो रहे हैं। एईएस की गणना करने का समय सक्रिय मामले में 1.4 सेकंड प्रति ब्लॉक, 512-नोड क्लस्टर मशीन का उपयोग करके और एक नोड का उपयोग करके 115 सेकंड तक कम किया गया था। शेलाट और शेन[25] कमोडिटी हार्डवेयर का उपयोग करके इसे 0.52 सेकंड प्रति ब्लॉक तक सुधारें। वही पेपर प्रति सेकंड 21 ब्लॉक के थ्रूपुट पर रिपोर्ट करता है, लेकिन प्रति ब्लॉक 48 सेकंड की विलंबता के साथ।
इस बीच, शोधकर्ताओं के एक अन्य समूह ने समानता के समान स्तर प्राप्त करने के लिए उपभोक्ता-ग्रेड ग्राफ़िक्स प्रोसेसिंग युनिट का उपयोग करके जांच की है।[26] वे अपने जीपीयू-विशिष्ट प्रोटोकॉल को डिजाइन करने के लिए ओटी एक्सटेंशन और कुछ अन्य नई तकनीकों का उपयोग करते हैं। यह दृष्टिकोण समान संख्या में कोर का उपयोग करके क्लस्टर कंप्यूटिंग कार्यान्वयन के लिए तुलनीय दक्षता प्राप्त करता है। हालांकि, लेखक केवल एईएस सर्किट के कार्यान्वयन पर रिपोर्ट करते हैं, जिसमें करीब 50,000 द्वार हैं। दूसरी ओर, यहाँ आवश्यक हार्डवेयर कहीं अधिक सुलभ है, क्योंकि समान उपकरण पहले से ही कई लोगों के डेस्कटॉप कंप्यूटर या गेम कंसोल में पाए जा सकते हैं। लेखकों को मानक जीपीयू के साथ मानक डेस्कटॉप पर प्रति एईएस ब्लॉक 2.7 सेकंड का समय मिलता है। यदि वे सुरक्षा को गुप्त सुरक्षा के समान कुछ कम करने की अनुमति देते हैं, तो वे प्रति AES ब्लॉक 0.30 सेकंड का रन टाइम प्राप्त करते हैं। निष्क्रिय सुरक्षा के मामले में 250 मिलियन गेट्स और 75 मिलियन गेट्स प्रति सेकंड की दर से सर्किट के प्रसंस्करण की रिपोर्टें हैं।[27]
सुरक्षित बहुदलीय संगणना डेटा विश्लेषण का कार्यान्वयन
सुरक्षित मल्टी-पार्टी संगणना के प्राथमिक अनुप्रयोगों में से एक डेटा के विश्लेषण की अनुमति देता है जो कई पार्टियों द्वारा आयोजित किया जाता है, या डेटा संरक्षक को डेटा विश्लेषण के प्रकार को समझने की अनुमति के बिना तीसरे पक्ष द्वारा डेटा का अंधा विश्लेषण किया जाता है।
प्रदर्शन और उत्पादन प्रणाली
Analysis | Data Custodians | Technology Provider | Year Introduced | Notes | Still in use? |
---|---|---|---|---|---|
Boston Women's Workforce Council Report[28] | Boston-area employers | Boston University | 2016 | ||
Allegheny County Datasets[29][30][31][32] | Multiple datasets from different county offices | Galois and the Bipartisan Policy Center | 2018 |
सॉफ्टवेयर पुस्तकालय
Name | Developer | Year Introduced | Notes | Still maintained? |
---|---|---|---|---|
SEPIA - Security through Private Information Aggregation | ||||
SCAPI - Secure Computation API[33] | ||||
PALISADE - Homomorphic Encryption Library[34] | ||||
MP-SPDZ - A versatile framework for multi-party computation [35] | CSIRO's Data61 | 2018 | 40 protocol variants, focus on machine learning functionality | As of 2023 |
प्रौद्योगिकी प्रदाता
यह भी देखें
- निजी सेट चौराहा
- डिजिटल मुद्रा
- होमोमोर्फिक एन्क्रिप्शन
- मानसिक पोकर
- बहुदलीय मेला विनिमय प्रोटोकॉल
- बेखबर ट्रांसफर
- गोपनीयता-संरक्षण कम्प्यूटेशनल ज्यामिति
- याओ के करोड़पतियों की समस्या
- गोपनीयता बढ़ाने वाली प्रौद्योगिकियां
- विभेदक गोपनीयता
संदर्भ
- ↑ Ran Canetti, et al., "Adaptively Secure Multi-party", TOC/CIS groups, LCS, MIT (1996), p. 1.
- ↑ A. Shamir, R. Rivest, and L. Adleman, "Mental Poker", Technical Report LCS/TR-125, Massachusetts Institute of Technology, April 1979.
- ↑ Andrew C. Yao, Protocols for secure computations (extended abstract)
- ↑ Andrew Chi-Chih Yao:How to Generate and Exchange Secrets (Extended Abstract). FOCS 1986: 162-167 [1]
- ↑ 5.0 5.1 ओडेड गोल्ड्रेच, सिल्वियो मिकाली, एवी विगडरसन: ईमानदार बहुमत के साथ प्रोटोकॉल के लिए कोई मानसिक खेल या पूर्णता प्रमेय कैसे खेलें। STOC 1987: 218-229 [2]
- ↑ Michael Ben-Or, Shafi Goldwasser, Avi Wigderson: Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation (Extended Abstract). STOC 1988: 1-10
- ↑ Tal Rabin, Michael Ben-Or: Verifiable Secret Sharing and Multiparty Protocols with Honest Majority (Extended Abstract). STOC 1989: 73-85 [3]
- ↑ Danny Dolev, Cynthia Dwork, Orli Waarts, Moti Yung: Perfectly Secure Message Transmission. J. ACM 40(1): 17-47 (1993)[4]
- ↑ Rafail Ostrovsky, Moti Yung: How to Withstand Mobile Virus Attacks. PODC 1991. pp. 51-59 [5]
- ↑ Claudio Orlandi: Is multiparty computation any good in practice?, ICASSP 2011
- ↑ Peter Bogetoft, Dan Lund Christensen, Ivan Damgård, Martin Geisler, Thomas Jakobsen, Mikkel Krøigaard, Janus Dam Nielsen, Jesper Buus Nielsen, Kurt Nielse, Jakob Pagter, Michael Schwartzbach and Tomas Toft (2008). "बहुदलीय संगणना लाइव हो जाती है". Cryptology ePrint Archive (Report 2008/068).
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ↑ Moti Yung: From Mental Poker to Core Business: Why and How to Deploy Secure Computation Protocols? ACM Conference on Computer and Communications Security 2015: 1-2 https://dl.acm.org/citation.cfm?doid=2810103.2812701
- ↑ Michael Backes, Birgit Pfitzmann, and Michael Waidner. "A general composition theorem for secure reactive systems." In Theory of Cryptography Conference, pp. 336-354. Springer, Berlin, Heidelberg, 2004.
- ↑ Y. Aumann & Y. Lindell. "गुप्त विरोधियों से सुरक्षा". TCC 2007.
- ↑ Andrew C. Yao, "How to generate and exchange secrets," SFCS '86 Proceedings of the 27th Annual Symposium on Foundations of Computer Science, pp. 162-167, 1986.
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs named:0
- ↑ Ben-Or, Michael; Goldwasser, Shafi; Wigderson, Avi (1988-01-01). गैर-क्रिप्टोग्राफ़िक दोष-सहिष्णु वितरित संगणना के लिए पूर्णता प्रमेय. ACM. pp. 1–10. doi:10.1145/62212.62213. ISBN 978-0897912648. S2CID 207554159.
- ↑ I. Damgård, V. Pastro, N. Smart and S. Zakarias, "Multiparty computation from somewhat homomorphic encryption," Crypto 2012, vol. Springer LNCS 7417, pp. 643-662, 2012.
- ↑ Iddo Bentov, Ranjit Kumaresan (2014). "फेयर प्रोटोकॉल डिजाइन करने के लिए बिटकॉइन का उपयोग कैसे करें" (PDF). Cryptology e Print (129): 1–38. Retrieved 9 October 2014.
- ↑ 20.0 20.1 A. Ben-David, N. Nisan and B. Pinkas, "FairplayMP: a system for secure multi-party computation," ACM CCS 2008, pp. 257–266, 2008.
- ↑ 21.0 21.1 21.2 B. Pinkas, T. Schneider, N. Smart and S. Williams, "Secure two-party computation is practical," Asiacrypt 2009, vol. Springer LNCS 5912, pp. 250–267, 2009.
- ↑ Y. Lindell and B. Pinkas, "An efficient protocol for secure two-party computation in the presence of malicious adversaries," Eurocrypt 2007, vol. Springer LNCS 4515, pp. 52-78, 2007.
- ↑ Y. Lindell, "Fast cut-and-choose based protocols for malicious and covert adversaries," Crypto 2013, vol. Springer LNCS 8043, pp. 1-17, 2013.
- ↑ B. Kreuter, a. shalet and C.-H. Shen, "Billion gate secure computation with malicious adversaries," USENIX Security Symposium 2012, pp. 285–300, 2012.
- ↑ A. Shelat and C.-H. Shen, "Fast two-party secure computation with minimal assumptions," ACM CCS 2013, pp. 523–534, 2013.
- ↑ T. Frederiksen and J. Nielsen, "Fast and maliciously secure two-party computation using the GPU, "ACNS 2013, vol. Springer LNCS 7954, pp. 339–356, 2013.
- ↑ Y. Huang, J. Katz and D. Evans, "Efficient secure two-party computation using symmetric cut-and-choose.," CRYPTO, vol. Springer LNCS 8043, pp. 18-35, 2013.
- ↑ https://www.boston.gov/sites/default/files/document-file-09-2017/bwwcr-2016-new-report.pdf[bare URL PDF]
- ↑ "BPC Partners with Allegheny County on New Privacy-Preserving Data Project | Bipartisan Policy Center".
- ↑ https://bipartisanpolicy.org/wp-content/uploads/2019/06/Privacy-Preserved-Data-Sharing-for-Evidence-Based-Policy-Decisions.pdf[bare URL PDF]
- ↑ Galois 2018 Technical Report
- ↑ https://gcn.com/articles/2019/05/31/secure-multiparty-computation.aspx
- ↑ "SCAPI: The Secure Computation API Library | BIU Cyber Center".
- ↑ https://palisade-crypto.org/
- ↑ https://mp-spdz.readthedocs.io
बाहरी संबंध
- A simple description of the Millionaire Problem
- Helger Lipmaa's links about multiparty computation
- Nick Szabo, "The God Protocols" at the Wayback Machine (archived December 30, 2006)
- EMP-toolkit — Efficient Multi-Party computation Toolkit. Includes implementation of basic MPC primitives as well as protocols with semi-honest security and malicious security.
- JavascriptMPC — JavascriptMPC A golang MPC framework that can compile Javascript files into garbled circuits.
- Secure distributed CSP (DisCSP) solvers — a web-application with an applet-interpreter to design and run your own full-fledged secure multiparty computation (based on the SMC declarative language). Uses secure arithmetic circuit evaluation and mix-nets.
- VMCrypt A Java library for scalable secure computation. By Lior Malka.
- The Fairplay Project — Includes a software package for secure two-party computation, where the function is defined using a high-level function description language, and evaluated using Yao's protocol for secure evaluation of boolean circuits.
- The SIMAP project; Secure Information Management and Processing (SIMAP) is a project sponsored by the Danish National Research Agency aimed implementing Secure Multiparty Computation.
- Secure Multiparty Computation Language - project for development of a 'domain specific programming language for secure multiparty computation' and associated cryptographic runtime.
- VIFF: Virtual Ideal Functionality Framework — Framework for asynchronous multi-party computations (code available under the LGPL). Offers arithmetic with secret shared values including secure comparison.
- MPyC: Secure Multiparty Computation in Python (and Jupyter notebooks) — Open-source package for MPC using a customized type of Python coroutines, supporting advanced applications such as ID3 decision trees, linear programming, CNN/MLP neural networks, AES, one-way hash chains, and many more. Launched in May 2018.
- SCALE-MAMBA MPC: Secure Computation Algorithms from LEuven — Framework for various MPC protocols, including the SPDZ family (code available under the BSD). Offers arithmetic with secret shared values including secure comparison and support for fixed point and floating point arithmetic.
- Sharemind: analyze confidential data without compromising privacy — A distributed virtual machine with the capability to run privacy-preserving operations. Has a privacy-preserving programming language for data mining tools. Includes developer tools.
- MPCLib: Multi-Party Computation Library — A library written in C# and C++ that implements several building blocks required for implementing secure multi-party computation protocols. MPCLib has a discrete-event simulation engine that can be used for simulating MPC protocols in virtual networks.
- Virtual Parties in SMC A protocol for Virtual Parties in SMC (Secure Multi Party computation)
- MPC Java-based implementation A Java-based implementation of the MPC protocol based on Michael.B, Shafi.G and Avi.W's theorem ("Completeness theorems for non-cryptographic fault-tolerant distributed computation") with Welch-Berlekamp error correcting code algorithm to BCH codes. Supports multiple players and identification of "cheaters" with Byzantine protocol. By Erez Alon, Doron Friedland & Yael Smith.
- SEPIA A java library for SMC using secret sharing. Basic operations are optimized for large numbers of parallel invocations (code available under the LGPL).
- Introduction to SMC on GitHub
- Myst Project - JavaCard Applet implementing Secure Multiparty Key Generation, Signing and Decryption.
- Essential bibliography Secure Multiparty Computation