सुरक्षित बहुदलीय संगणना: Difference between revisions
(Created page with "{{short description|Subfield of cryptography}} सुरक्षित मल्टी-पार्टी संगणना (जिसे सुरक्षित संग...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{short description|Subfield of cryptography}} | {{short description|Subfield of cryptography}} | ||
सुरक्षित | '''सुरक्षित बहु-पक्ष कम्प्यूटेशन''', जिसे '''सुरक्षित कम्प्यूटेशन''', '''बहु-पक्ष कम्प्यूटेशन''' ('''एमपीसी''') या '''गोपनीयता-संरक्षण कम्प्यूटेशन''' ('''संगणना''') के रूप में भी जाना जाता है, क्रिप्टोग्राफी का एक उपक्षेत्र है, जिसका लक्ष्य पक्षकारों के लिए उन इनपुटों को निजी रखते हुए उनके इनपुट पर संयुक्त रूप से एक फ़ंक्शन की गणना करना है। पारंपरिक क्रिप्टोग्राफ़िक कार्यों के विपरीत, जहाँ क्रिप्टोग्राफी (गुप्तलेखन) संचार या भंडारण की सुरक्षा और शुद्धता का आश्वासन देती है और विरोधी प्रतिभागियों की प्रणाली (प्रेषक और अभिग्राही पर एक एवेसड्रापर) के बाहर होता है, इस मॉडल में क्रिप्टोग्राफी एक दूसरे से प्रतिभागियों की गोपनीयता की सुरक्षा करती है। | ||
1970 के दशक के उत्तरार्ध में सुरक्षित | 1970 के दशक के उत्तरार्ध में सुरक्षित बहु-पक्ष कम्प्यूटेशन की नींव मानसिक निर्विकार,, क्रिप्टोग्राफ़िक कार्य पर काम के साथ प्रारंभ हुई, जो किसी विश्वसनीय तृतीय पक्ष की आवश्यकता के बिना दूरियों पर गेम खेलने/कम्प्यूटेशनल कार्यों का अनुकरण करता है। परंपरागत रूप से, क्रिप्टोग्राफी वस्तु को छिपाने के बारे में थी, जबकि इस नए प्रकार की कम्प्यूटेशन और प्रोटोकॉल डेटा के बारे में आंशिक जानकारी को छिपाने के बारे में है, जबकि कई स्रोतों से डेटा की गणना करते हुए, और सही रूप से आउटपुट तैयार करते हैं। 1980 के दशक के अंत तक, माइकल बेन-ऑर, शफी गोल्डवेसर और एवी विगडरसन, और स्वतंत्र रूप से डेविड चाउम, क्लाउड क्रेपौ, और इवान डैमगार्ड ने "सुरक्षित चैनल संस्थापन में किसी भी फ़ंक्शन की सुरक्षित गणना कैसे करें" दिखाने वाले पत्र प्रकाशित किए थे।<ref>Ran Canetti, et al., "[http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-682.pdf Adaptively Secure Multi-party]", TOC/CIS groups, LCS, MIT (1996), p. 1.</ref> | ||
== इतिहास == | == इतिहास == | ||
1970 के दशक के अंत में विशिष्ट कार्यों के लिए विशेष प्रयोजन प्रोटोकॉल शुरू हुए।<ref>A. Shamir, R. Rivest, and L. Adleman, "Mental Poker", Technical Report LCS/TR-125, Massachusetts Institute of Technology, April 1979.</ref> बाद में, सुरक्षित | 1970 के दशक के अंत में विशिष्ट कार्यों के लिए विशेष प्रयोजन प्रोटोकॉल शुरू हुए।<ref>A. Shamir, R. Rivest, and L. Adleman, "Mental Poker", Technical Report LCS/TR-125, Massachusetts Institute of Technology, April 1979.</ref> बाद में, सुरक्षित कम्प्यूटेशन को औपचारिक रूप से 1982 में [[सुरक्षित दो-पक्ष संगणना|सुरक्षित दो-पक्ष कम्प्यूटेशन]] (2PC) के रूप में पेश किया गया था (तथाकथित याओ की मिलियनेयर की समस्या | मिलियनेयर की समस्या के लिए, एक विशिष्ट समस्या जो एक बूलियन विधेय है), और सामान्य तौर पर (किसी भी व्यवहार्य के लिए) गणना) 1986 में [[एंड्रयू याओ]] द्वारा।<ref name="Yao">Andrew C. Yao, [http://www.cs.wisc.edu/areas/sec/yao1982-ocr.pdf Protocols for secure computations] (extended abstract)</ref><ref>Andrew Chi-Chih Yao:How to Generate and Exchange Secrets (Extended Abstract). FOCS 1986: 162-167 [https://ieeexplore.ieee.org/document/4568207]</ref> इस क्षेत्र को सिक्योर फंक्शन इवैल्यूएशन (SFE) भी कहा जाता है। दो पक्ष के मामले के बाद ओडेड गोल्डरेइच, सिल्वियो मिकाली और एवी विगडर्सन द्वारा बहु-पक्ष के लिए एक सामान्यीकरण किया गया। गणना एक संभावित दुर्भावनापूर्ण मामले के लिए सभी इनपुट और शून्य-ज्ञान प्रमाणों के गुप्त साझाकरण पर आधारित है, जहां दुर्भावनापूर्ण विरोधी मामले में अधिकांश ईमानदार खिलाड़ी यह आश्वासन देते हैं कि बुरे व्यवहार का पता चला है और बेईमान व्यक्ति को समाप्त करने या उसके साथ गणना जारी है। इनपुट से पता चला। इस कार्य ने सुरक्षित कंप्यूटिंग के लिए अनिवार्य रूप से भविष्य के सभी बहु-पक्षीय प्रोटोकॉल द्वारा पालन की जाने वाली बहुत ही बुनियादी सामान्य योजना का सुझाव दिया।<ref name="goldreich_87">ओडेड गोल्ड्रेच, सिल्वियो मिकाली, एवी विगडरसन: ईमानदार बहुमत के साथ प्रोटोकॉल के लिए कोई मानसिक खेल या पूर्णता प्रमेय कैसे खेलें। STOC 1987: 218-229 [http://dl.acm.org/citation.cfm?doid=28395.28420]</ref> इस कार्य ने एक दृष्टिकोण प्रस्तुत किया, जिसे GMW प्रतिमान के रूप में जाना जाता है, एक बहु-पक्षीय कम्प्यूटेशन प्रोटोकॉल को संकलित करने के लिए जो है अर्ध-ईमानदार विरोधियों के खिलाफ एक प्रोटोकॉल के लिए सुरक्षित है जो दुर्भावनापूर्ण विरोधियों के खिलाफ सुरक्षित है। इस कार्य के बाद पहले मजबूत सुरक्षित प्रोटोकॉल का पालन किया गया, जो इस उद्देश्य के लिए आविष्कार किए गए कार्य के माध्यम से किसी के आउटपुट को प्रकट किए बिना दोषपूर्ण व्यवहार को शालीनता से सहन करता है। रेफरी> [[ज़वी गैलील]], स्टुअर्ट हैबर, मोती युंग: क्रिप्टोग्राफ़िक कम्प्यूटेशन: सुरक्षित दोष-सहिष्णु प्रोटोकॉल और सार्वजनिक-कुंजी मॉडल। क्रिप्टो 1987: 135-155 | ||
[https://link.springer.com/chapter/10.1007%2F3-540-48184-2_10]</ref> और एक प्रोटोकॉल जो किसी एक पक्ष को बिना शर्त अपना इनपुट छिपाने की अनुमति देता है। रेफ>डेविड चौम, इवान डमगार्ड, जेरोएन वैन डी ग्राफ: प्रत्येक | [https://link.springer.com/chapter/10.1007%2F3-540-48184-2_10]<nowiki></ref></nowiki> और एक प्रोटोकॉल जो किसी एक पक्ष को बिना शर्त अपना इनपुट छिपाने की अनुमति देता है। रेफ>डेविड चौम, इवान डमगार्ड, जेरोएन वैन डी ग्राफ: प्रत्येक पक्ष के इनपुट की गोपनीयता सुनिश्चित करने और परिणाम की शुद्धता सुनिश्चित करने वाली बहु-पक्ष संगणनाएं। 87-119 [https://link.springer.com/chapter/10.1007%2F3-540-48184-2_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|journal=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 }<nowiki></ref></nowiki> और यह शोध की इस पंक्ति को व्यावहारिक दृष्टिकोण से और भी दिलचस्प बनाता है। उपरोक्त परिणाम एक ऐसे मॉडल में हैं जहां विरोधी बहुपद समय गणनाओं तक सीमित है, और यह सभी संचारों को देखता है, और इसलिए मॉडल को 'कम्प्यूटेशनल मॉडल' कहा जाता है। आगे इन कार्यों के लिए ओब्लिवियस ट्रांसफर का प्रोटोकॉल पूरा दिखाया गया। रेफरी>जो किलियन: ओब्लिवियस ट्रांसफर पर फाउंडिंग क्रिप्टोग्राफी। STOC 1988: 20-31 [http://dl.acm.org/citation.cfm?doid=62212.62215]<nowiki></ref></nowiki> उपरोक्त परिणामों ने स्थापित किया कि उपरोक्त विविधताओं के तहत सुरक्षित कम्प्यूटेशन प्राप्त करना संभव है जब अधिकांश उपयोगकर्ता ईमानदार हैं। | ||
हल करने के लिए अगला प्रश्न सुरक्षित संचार चैनलों का मामला था जहां बिंदु से बिंदु संचार विरोधी के लिए उपलब्ध नहीं है; इस मामले में यह दिखाया गया था कि 1/3 | हल करने के लिए अगला प्रश्न सुरक्षित संचार चैनलों का मामला था जहां बिंदु से बिंदु संचार विरोधी के लिए उपलब्ध नहीं है; इस मामले में यह दिखाया गया था कि 1/3 पक्षकारों के दुर्व्यवहार और दुर्भावनापूर्ण होने के साथ समाधान प्राप्त किया जा सकता है, और समाधान कोई क्रिप्टोग्राफ़िक उपकरण लागू नहीं करते हैं (चूंकि सुरक्षित संचार उपलब्ध है)। रेफरी नाम = सीसीडी >{{cite journal|author1=D. Chaum, C. Crepeau |author2=I. Damgard |name-list-style=amp |title=बहुदलीय बिना शर्त सुरक्षित प्रोटोकॉल|journal=Stoc 1988}}</ref><ref>Michael Ben-Or, Shafi Goldwasser, Avi Wigderson: | ||
Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation (Extended Abstract). STOC 1988: 1-10</ref> एक ब्रॉडकास्ट चैनल जोड़ने से सिस्टम को 1/2 दुर्व्यवहार करने वाले अल्पसंख्यक तक सहन करने की अनुमति मिलती है,<ref>[[Tal Rabin]], Michael Ben-Or: Verifiable Secret Sharing and Multiparty Protocols with Honest Majority (Extended Abstract). STOC 1989: 73-85 [http://dl.acm.org/citation.cfm?doid=73007.73014]</ref> जबकि संचार ग्राफ पर कनेक्टिविटी की बाधाओं की जांच परफेक्टली सिक्योर मैसेज ट्रांसमिशन पुस्तक में की गई थी।<ref>Danny Dolev, Cynthia Dwork, Orli Waarts, Moti Yung: Perfectly Secure Message Transmission. J. ACM 40(1): 17-47 (1993)[http://dl.acm.org/citation.cfm?doid=138027.138036]</ref> | Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation (Extended Abstract). STOC 1988: 1-10</ref> एक ब्रॉडकास्ट चैनल जोड़ने से सिस्टम को 1/2 दुर्व्यवहार करने वाले अल्पसंख्यक तक सहन करने की अनुमति मिलती है,<ref>[[Tal Rabin]], Michael Ben-Or: Verifiable Secret Sharing and Multiparty Protocols with Honest Majority (Extended Abstract). STOC 1989: 73-85 [http://dl.acm.org/citation.cfm?doid=73007.73014]</ref> जबकि संचार ग्राफ पर कनेक्टिविटी की बाधाओं की जांच परफेक्टली सिक्योर मैसेज ट्रांसमिशन पुस्तक में की गई थी।<ref>Danny Dolev, Cynthia Dwork, Orli Waarts, Moti Yung: Perfectly Secure Message Transmission. J. ACM 40(1): 17-47 (1993)[http://dl.acm.org/citation.cfm?doid=138027.138036]</ref> | ||
इन वर्षों में, सामान्य उद्देश्य | इन वर्षों में, सामान्य उद्देश्य बहु-पक्ष प्रोटोकॉल की धारणा बुनियादी और सामान्य प्रोटोकॉल के गुणों की जांच करने के लिए एक उर्वर क्षेत्र बन गई, जैसे कि [[सक्रिय गुप्त साझाकरण]] के रूप में [[सार्वभौमिक रचना]] या प्रतिकूल (क्रिप्टोग्राफी)।<ref>Rafail Ostrovsky, Moti Yung: How to Withstand Mobile Virus Attacks. PODC 1991. pp. 51-59 [http://dl.acm.org/citation.cfm?doid=112600.112605]</ref> | ||
2000 के दशक के अंत से, और निश्चित रूप से 2010 से और उसके बाद से, सामान्य प्रयोजन प्रोटोकॉल का डोमेन व्यावहारिक अनुप्रयोगों को ध्यान में रखते हुए प्रोटोकॉल के दक्षता सुधार से निपटने के लिए स्थानांतरित हो गया है। | 2000 के दशक के अंत से, और निश्चित रूप से 2010 से और उसके बाद से, सामान्य प्रयोजन प्रोटोकॉल का डोमेन व्यावहारिक अनुप्रयोगों को ध्यान में रखते हुए प्रोटोकॉल के दक्षता सुधार से निपटने के लिए स्थानांतरित हो गया है। बहु-पक्ष कम्प्यूटेशन के लिए तेजी से कुशल प्रोटोकॉल प्रस्तावित किए गए हैं, और बहु-पक्ष कम्प्यूटेशन को अब विभिन्न वास्तविक जीवन की समस्याओं के लिए एक व्यावहारिक समाधान के रूप में माना जा सकता है (विशेषकर वे जिन्हें केवल रहस्यों के रैखिक साझाकरण की आवश्यकता होती है और मुख्य रूप से पक्षकारों के बीच बहुत अधिक बातचीत के साथ शेयरों पर स्थानीय संचालन की आवश्यकता होती है। ), जैसे वितरित मतदान, निजी बोली और नीलामी, हस्ताक्षर या डिक्रिप्शन कार्यों को साझा करना और [[निजी सूचना पुनर्प्राप्ति]]।<ref>Claudio Orlandi: [http://u.cs.biu.ac.il/~orlandi/icassp-draft.pdf Is multiparty computation any good in practice?], ICASSP 2011</ref> बहु-पक्ष कम्प्यूटेशन का पहला बड़े पैमाने पर और व्यावहारिक एप्लीकेशन जनवरी 2008 में हुई [[डेनिश चीनी चुकंदर नीलामी]] में एक इलेक्ट्रॉनिक डबल नीलामी का निष्पादन था।<ref>{{cite journal|url=http://eprint.iacr.org/2008/068|author= 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|title= बहुदलीय संगणना लाइव हो जाती है|journal= Cryptology ePrint Archive|issue= Report 2008/068|year=2008}}</ref> जाहिर है, सैद्धांतिक धारणाएं और जांच, और अनुप्रयुक्त निर्माण दोनों की जरूरत है (उदाहरण के लिए, बहु-पक्ष कम्प्यूटेशन को दैनिक कारोबार के हिस्से में ले जाने की शर्तों की वकालत की गई और प्रस्तुत की गई | ||
में<ref>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 | में<ref>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</ref>). | https://dl.acm.org/citation.cfm?doid=2810103.2812701</ref>). | ||
2020 में, सुरक्षित-मल्टीपार्टी कंप्यूटेशन के साथ काम करने वाली कई कंपनियों ने [https://www.mpcalliance.org/ | 2020 में, सुरक्षित-मल्टीपार्टी कंप्यूटेशन के साथ काम करने वाली कई कंपनियों ने [https://www.mpcalliance.org/ बहु-पक्ष कम्प्यूटेशन Alliance] की स्थापना की, जिसका लक्ष्य बहु-पक्ष कम्प्यूटेशन तकनीक की जागरूकता, स्वीकृति और अपनाने में तेजी लाना है। | ||
== परिभाषा और | == परिभाषा और अवलोकन == | ||
एक | एक बहु-पक्ष कम्प्यूटेशन में, प्रतिभागियों की दी गई संख्या, p<sub>1</sub>, पी<sub>2</sub>, ..., पी<sub>N</sub>, प्रत्येक के पास [[सूचना गोपनीयता]] है, क्रमशः d<sub>1</sub>, डी<sub>2</sub>, ..., डी<sub>N</sub>. प्रतिभागी उस निजी डेटा पर किसी सार्वजनिक फ़ंक्शन के मान की गणना करना चाहते हैं: F(d<sub>1</sub>, डी<sub>2</sub>, ..., डी<sub>N</sub>) अपने स्वयं के इनपुट्स को गुप्त रखते हुए। | ||
उदाहरण के लिए, मान लें कि हमारे पास तीन पार्टियां ऐलिस, बॉब और चार्ली हैं, जिनके संबंधित इनपुट x, y और z उनके वेतन को दर्शाते हैं। वे एक-दूसरे को यह बताए बिना कि उनमें से प्रत्येक कितना कमाता है, तीन वेतनों में से उच्चतम का पता लगाना चाहते हैं। गणितीय रूप से, यह उनके लिए कंप्यूटिंग का अनुवाद करता है: | उदाहरण के लिए, मान लें कि हमारे पास तीन पार्टियां ऐलिस, बॉब और चार्ली हैं, जिनके संबंधित इनपुट x, y और z उनके वेतन को दर्शाते हैं। वे एक-दूसरे को यह बताए बिना कि उनमें से प्रत्येक कितना कमाता है, तीन वेतनों में से उच्चतम का पता लगाना चाहते हैं। गणितीय रूप से, यह उनके लिए कंप्यूटिंग का अनुवाद करता है: | ||
: {{math|F(x, y, z) {{=}} max(x, y, z)}} | : {{math|F(x, y, z) {{=}} max(x, y, z)}} | ||
अगर | अगर पक्ष के बाहर कुछ भरोसेमंद लोग थे (कहते हैं, उनका एक परस्पर मित्र टोनी था जिसे वे जानते थे कि वह गुप्त रख सकता है), तो वे प्रत्येक टोनी को अपना वेतन बता सकते हैं, वह अधिकतम गणना कर सकता है, और वह संख्या उन सभी को बता सकता है। बहु-पक्ष कम्प्यूटेशन का लक्ष्य एक प्रोटोकॉल डिजाइन करना है, जहां केवल एक दूसरे के साथ संदेशों का आदान-प्रदान करके, ऐलिस, बॉब और चार्ली अभी भी सीख सकते हैं {{math|F(x, y, z)}} यह बताए बिना कि कौन क्या बनाता है और टोनी पर भरोसा किए बिना। उन्हें अपने प्रोटोकॉल में शामिल होकर और कुछ नहीं सीखना चाहिए, जितना कि वे एक अचूक, पूरी तरह से भरोसेमंद टोनी के साथ बातचीत करके सीखेंगे। | ||
विशेष रूप से, पार्टियां जो कुछ सीख सकती हैं, वे आउटपुट और अपने स्वयं के इनपुट से सीख सकते हैं। तो उपरोक्त उदाहरण में, यदि आउटपुट है {{Mvar|z}}, तो चार्ली को पता चलता है कि उसका {{Mvar|z}} अधिकतम मान है, जबकि ऐलिस और बॉब सीखते हैं (यदि {{Mvar|x}}, {{Mvar|y}} और {{Mvar|z}} भिन्न हैं), कि उनका इनपुट अधिकतम के बराबर नहीं है, और यह कि अधिकतम धारित के बराबर है {{Mvar|z}}. मूल परिदृश्य को आसानी से सामान्यीकृत किया जा सकता है जहां | विशेष रूप से, पार्टियां जो कुछ सीख सकती हैं, वे आउटपुट और अपने स्वयं के इनपुट से सीख सकते हैं। तो उपरोक्त उदाहरण में, यदि आउटपुट है {{Mvar|z}}, तो चार्ली को पता चलता है कि उसका {{Mvar|z}} अधिकतम मान है, जबकि ऐलिस और बॉब सीखते हैं (यदि {{Mvar|x}}, {{Mvar|y}} और {{Mvar|z}} भिन्न हैं), कि उनका इनपुट अधिकतम के बराबर नहीं है, और यह कि अधिकतम धारित के बराबर है {{Mvar|z}}. मूल परिदृश्य को आसानी से सामान्यीकृत किया जा सकता है जहां पक्षकारों के पास कई इनपुट और आउटपुट होते हैं, और फ़ंक्शन अलग-अलग पक्षकारों को अलग-अलग मान देता है। | ||
अनौपचारिक रूप से बोलते हुए, एक बहु-पक्षीय | अनौपचारिक रूप से बोलते हुए, एक बहु-पक्षीय कम्प्यूटेशन प्रोटोकॉल का लक्ष्य सुनिश्चित करने के लिए सबसे बुनियादी गुण हैं: | ||
* इनपुट गोपनीयता: प्रोटोकॉल के निष्पादन के दौरान भेजे गए संदेशों से | * इनपुट गोपनीयता: प्रोटोकॉल के निष्पादन के दौरान भेजे गए संदेशों से पक्षकारों द्वारा रखे गए निजी डेटा के बारे में कोई जानकारी प्राप्त नहीं की जा सकती है। निजी डेटा के बारे में केवल वही जानकारी निकाली जा सकती है जो केवल फ़ंक्शन के आउटपुट को देखकर अनुमान लगाया जा सकता है। | ||
* शुद्धता: प्रोटोकॉल निष्पादन के दौरान सूचनाओं को साझा करने या निर्देशों से विचलित करने के इच्छुक प्रतिकूल साठगांठ वाले दलों का कोई भी उचित उपसमुच्चय ईमानदार | * शुद्धता: प्रोटोकॉल निष्पादन के दौरान सूचनाओं को साझा करने या निर्देशों से विचलित करने के इच्छुक प्रतिकूल साठगांठ वाले दलों का कोई भी उचित उपसमुच्चय ईमानदार पक्षकारों को गलत परिणाम देने के लिए मजबूर करने में सक्षम नहीं होना चाहिए। यह शुद्धता लक्ष्य दो स्वादों में आता है: या तो ईमानदार पक्षकारों को सही आउटपुट (एक मजबूत प्रोटोकॉल) की गणना करने की गारंटी दी जाती है, या वे एक त्रुटि पाते हैं (एक बहु-पक्ष कम्प्यूटेशन प्रोटोकॉल abort के साथ)। | ||
व्यावहारिक अनुप्रयोगों की एक विस्तृत श्रृंखला है, जो साधारण कार्यों से भिन्न होती है जैसे सिक्का उछालना और अधिक जटिल जैसे इलेक्ट्रॉनिक नीलामी (जैसे बाजार समाशोधन मूल्य की गणना), इलेक्ट्रॉनिक मतदान, या गोपनीयता-संरक्षण डेटा खनन। | व्यावहारिक अनुप्रयोगों की एक विस्तृत श्रृंखला है, जो साधारण कार्यों से भिन्न होती है जैसे सिक्का उछालना और अधिक जटिल जैसे इलेक्ट्रॉनिक नीलामी (जैसे बाजार समाशोधन मूल्य की गणना), इलेक्ट्रॉनिक मतदान, या गोपनीयता-संरक्षण डेटा खनन। मिलियनेयर की समस्या एक शास्त्रीय उदाहरण है: दो करोड़पति जानना चाहते हैं कि कौन अमीर है, इस तरह से कि उनमें से कोई भी दूसरे के निवल मूल्य को नहीं सीखता है। इस स्थिति का समाधान अनिवार्य रूप से तुलनात्मक कार्य का सुरक्षित रूप से मूल्यांकन करना है। | ||
== सुरक्षा परिभाषाएँ == | == सुरक्षा परिभाषाएँ == | ||
प्रभावी होने के लिए एक बहु-पक्षीय | प्रभावी होने के लिए एक बहु-पक्षीय कम्प्यूटेशन प्रोटोकॉल सुरक्षित होना चाहिए। आधुनिक क्रिप्टोग्राफी में, एक प्रोटोकॉल की सुरक्षा एक सुरक्षा प्रमाण से संबंधित है। सुरक्षा प्रमाण एक गणितीय प्रमाण है जहां एक प्रोटोकॉल की सुरक्षा उसके अंतर्निहित आदिम की सुरक्षा के लिए कम हो जाती है। फिर भी, पक्ष के ज्ञान और प्रोटोकॉल की शुद्धता के आधार पर [[क्रिप्टोग्राफिक प्रोटोकॉल]] सुरक्षा सत्यापन को औपचारिक रूप देना हमेशा संभव नहीं होता है। बहु-पक्ष कम्प्यूटेशन प्रोटोकॉल के लिए, जिस वातावरण में प्रोटोकॉल संचालित होता है वह वास्तविक दुनिया/आदर्श विश्व प्रतिमान से जुड़ा होता है।<ref name="BPW">Michael Backes, Birgit Pfitzmann, and Michael Waidner. "[https://link.springer.com/chapter/10.1007/978-3-540-24638-1_19 A general composition theorem for secure reactive systems]." In Theory of Cryptography Conference, pp. 336-354. Springer, Berlin, Heidelberg, 2004.</ref> पक्षकारों को कुछ भी सीखने के लिए नहीं कहा जा सकता है, क्योंकि उन्हें ऑपरेशन के आउटपुट को सीखने की जरूरत है, और आउटपुट इनपुट पर निर्भर करता है। इसके अलावा, आउटपुट शुद्धता की गारंटी नहीं है, क्योंकि आउटपुट की शुद्धता पक्षकारों के इनपुट पर निर्भर करती है, और इनपुट को सही माना जाना चाहिए। | ||
वास्तविक विश्व/आदर्श विश्व प्रतिमान दो दुनियाओं को बताता है: (i) आदर्श-विश्व मॉडल में, एक अविनाशी विश्वसनीय | वास्तविक विश्व/आदर्श विश्व प्रतिमान दो दुनियाओं को बताता है: (i) आदर्श-विश्व मॉडल में, एक अविनाशी विश्वसनीय पक्ष मौजूद होती है, जिसे प्रत्येक प्रोटोकॉल प्रतिभागी अपना इनपुट भेजता है। यह विश्वसनीय पक्ष स्वयं फ़ंक्शन की गणना करती है और प्रत्येक पक्ष को उपयुक्त आउटपुट वापस भेजती है। (ii) इसके विपरीत, वास्तविक दुनिया के मॉडल में, कोई विश्वसनीय पक्ष नहीं है और सभी पक्ष एक दूसरे के साथ संदेशों का आदान-प्रदान कर सकते हैं। एक प्रोटोकॉल को सुरक्षित कहा जाता है यदि कोई व्यक्ति वास्तविक दुनिया में प्रत्येक पक्ष के निजी इनपुट के बारे में आदर्श दुनिया में सीख सकता है उससे अधिक नहीं सीख सकता है। आदर्श दुनिया में, पक्षकारों के बीच संदेशों का आदान-प्रदान नहीं होता है, इसलिए वास्तविक दुनिया में आदान-प्रदान किए गए संदेश किसी भी गुप्त जानकारी को प्रकट नहीं कर सकते हैं। | ||
रियल वर्ल्ड / आइडियल वर्ल्ड पैराडाइम | रियल वर्ल्ड / आइडियल वर्ल्ड पैराडाइम बहु-पक्ष कम्प्यूटेशन की जटिलताओं का एक सरल सार प्रदान करता है ताकि एक एप्लीकेशन के निर्माण की अनुमति दी जा सके कि इसके मूल में बहु-पक्ष कम्प्यूटेशन प्रोटोकॉल वास्तव में एक आदर्श निष्पादन है। यदि एप्लिकेशन आदर्श मामले में सुरक्षित है, तो यह तब भी सुरक्षित है जब इसके बजाय एक वास्तविक प्रोटोकॉल चलाया जाता है। | ||
बहु-पक्ष कम्प्यूटेशन प्रोटोकॉल पर सुरक्षा आवश्यकताएं कड़ी हैं। फिर भी, 1987 में यह प्रदर्शित किया गया कि दुर्भावनापूर्ण विरोधियों के लिए सुरक्षा के साथ किसी भी कार्य को सुरक्षित रूप से गणना की जा सकती है<ref name="goldreich_87" />और पहले उल्लिखित अन्य प्रारंभिक कार्य। | |||
इन प्रकाशनों के बावजूद, | इन प्रकाशनों के बावजूद, बहु-पक्ष कम्प्यूटेशन को उस समय अभ्यास में उपयोग करने के लिए पर्याप्त कुशल होने के लिए डिजाइन नहीं किया गया था। बिना शर्त या सूचना-सैद्धांतिक रूप से सुरक्षित बहु-पक्ष कम्प्यूटेशन निकटता से संबंधित है और [[गुप्त साझाकरण]] की समस्या का निर्माण करता है, और अधिक विशेष रूप से [[सत्यापन योग्य गुप्त साझाकरण]] (वीएसएस), जो कि कई सुरक्षित बहु-पक्ष कम्प्यूटेशन प्रोटोकॉल सक्रिय विरोधियों के खिलाफ उपयोग करते हैं। | ||
एन्क्रिप्शन या हस्ताक्षर जैसे पारंपरिक क्रिप्टोग्राफ़िक अनुप्रयोगों के विपरीत, किसी को यह मान लेना चाहिए कि | एन्क्रिप्शन या हस्ताक्षर जैसे पारंपरिक क्रिप्टोग्राफ़िक अनुप्रयोगों के विपरीत, किसी को यह मान लेना चाहिए कि बहु-पक्ष कम्प्यूटेशन प्रोटोकॉल में विरोधी सिस्टम में लगे खिलाड़ियों में से एक है (या आंतरिक पक्षकारों को नियंत्रित करता है)। भ्रष्ट पक्ष या पार्टियां प्रोटोकॉल की सुरक्षा को भंग करने के लिए साठगांठ कर सकती हैं। होने देना <math>n</math> प्रोटोकॉल में पक्षकारों की संख्या हो और <math>t</math> पक्षकारों की संख्या जो प्रतिकूल हो सकती है। के मामले के लिए प्रोटोकॉल और समाधान <math>t < n/2</math> (अर्थात, जब एक ईमानदार बहुमत मान लिया जाता है) उन लोगों से भिन्न होते हैं जहाँ ऐसी कोई धारणा नहीं बनाई जाती है। इस बाद वाले मामले में दो-पक्षीय कम्प्यूटेशन का महत्वपूर्ण मामला शामिल है जहां प्रतिभागियों में से एक भ्रष्ट हो सकता है, और सामान्य मामला जहां असीमित संख्या में प्रतिभागी भ्रष्ट हैं और ईमानदार प्रतिभागियों पर हमला करने के लिए साठगांठ करते हैं। | ||
विभिन्न प्रोटोकॉल का सामना करने वाले विरोधियों को प्रोटोकॉल से विचलित होने के इच्छुक होने के अनुसार वर्गीकृत किया जा सकता है। अनिवार्य रूप से दो प्रकार के विरोधी हैं, प्रत्येक सुरक्षा के विभिन्न रूपों को जन्म देता है (और प्रत्येक अलग वास्तविक दुनिया के परिदृश्य में फिट बैठता है): | विभिन्न प्रोटोकॉल का सामना करने वाले विरोधियों को प्रोटोकॉल से विचलित होने के इच्छुक होने के अनुसार वर्गीकृत किया जा सकता है। अनिवार्य रूप से दो प्रकार के विरोधी हैं, प्रत्येक सुरक्षा के विभिन्न रूपों को जन्म देता है (और प्रत्येक अलग वास्तविक दुनिया के परिदृश्य में फिट बैठता है): | ||
* अर्ध-ईमानदार (निष्क्रिय) सुरक्षा: इस मामले में, यह माना जाता है कि भ्रष्ट पक्ष केवल प्रोटोकॉल से जानकारी एकत्र करने में सहयोग करते हैं, लेकिन प्रोटोकॉल विनिर्देश से विचलित नहीं होते हैं। यह एक भोली विरोधी मॉडल है, जो वास्तविक परिस्थितियों में कमजोर सुरक्षा प्रदान करती है। हालांकि, सुरक्षा के इस स्तर को प्राप्त करने वाले प्रोटोकॉल | * अर्ध-ईमानदार (निष्क्रिय) सुरक्षा: इस मामले में, यह माना जाता है कि भ्रष्ट पक्ष केवल प्रोटोकॉल से जानकारी एकत्र करने में सहयोग करते हैं, लेकिन प्रोटोकॉल विनिर्देश से विचलित नहीं होते हैं। यह एक भोली विरोधी मॉडल है, जो वास्तविक परिस्थितियों में कमजोर सुरक्षा प्रदान करती है। हालांकि, सुरक्षा के इस स्तर को प्राप्त करने वाले प्रोटोकॉल पक्षकारों (अन्यथा सहयोग करने वाले) के बीच जानकारी के अनजाने रिसाव को रोकते हैं, और इस प्रकार उपयोगी होते हैं यदि यह एकमात्र चिंता है। इसके अलावा, अर्ध-ईमानदार मॉडल में प्रोटोकॉल काफी कुशल होते हैं, और अक्सर उच्च स्तर की सुरक्षा प्राप्त करने के लिए एक महत्वपूर्ण पहला कदम होता है। | ||
* दुर्भावनापूर्ण (सक्रिय) सुरक्षा: इस मामले में, विरोधी धोखा देने के अपने प्रयास में मनमाने | * दुर्भावनापूर्ण (सक्रिय) सुरक्षा: इस मामले में, विरोधी धोखा देने के अपने प्रयास में मनमाने रूप से प्रोटोकॉल निष्पादन से विचलित हो सकता है। इस मॉडल में सुरक्षा प्राप्त करने वाले प्रोटोकॉल बहुत उच्च सुरक्षा गारंटी प्रदान करते हैं। दुर्व्यवहार करने वाली पक्षकारों के बहुमत के मामले में: केवल एक चीज जो एक विरोधी बेईमान बहुमत के मामले में कर सकता है वह है कि ईमानदार पक्षकारों को धोखाधड़ी का पता लगाने से रोक दिया जाए। यदि ईमानदार पक्ष आउटपुट प्राप्त करते हैं, तो उन्हें गारंटी दी जाती है कि यह सही है। उनकी निजता हमेशा कायम रहती है। | ||
सक्रिय प्रतिद्वंद्वियों के खिलाफ सुरक्षा आमतौर पर दक्षता में कमी की ओर ले जाती है जो गुप्त सुरक्षा की ओर ले जाती है,<ref>{{cite journal|author1=Y. Aumann |author2=Y. Lindell |name-list-style=amp |title=गुप्त विरोधियों से सुरक्षा|journal=TCC 2007}}</ref> सक्रिय सुरक्षा का एक आरामदेह रूप। गुप्त सुरक्षा अधिक यथार्थवादी स्थितियों को पकड़ती है, जहां सक्रिय विरोधी धोखा देने को तैयार होते हैं, लेकिन तभी जब वे पकड़े नहीं जाते हैं। उदाहरण के लिए, अन्य ईमानदार | सक्रिय प्रतिद्वंद्वियों के खिलाफ सुरक्षा आमतौर पर दक्षता में कमी की ओर ले जाती है जो गुप्त सुरक्षा की ओर ले जाती है,<ref>{{cite journal|author1=Y. Aumann |author2=Y. Lindell |name-list-style=amp |title=गुप्त विरोधियों से सुरक्षा|journal=TCC 2007}}</ref> सक्रिय सुरक्षा का एक आरामदेह रूप। गुप्त सुरक्षा अधिक यथार्थवादी स्थितियों को पकड़ती है, जहां सक्रिय विरोधी धोखा देने को तैयार होते हैं, लेकिन तभी जब वे पकड़े नहीं जाते हैं। उदाहरण के लिए, अन्य ईमानदार पक्षकारों के साथ भविष्य के सहयोग को रोकते हुए, उनकी प्रतिष्ठा को नुकसान पहुँचाया जा सकता है। इस प्रकार, प्रोटोकॉल जो गुप्त रूप से सुरक्षित हैं, यह सुनिश्चित करने के लिए तंत्र प्रदान करते हैं कि यदि कुछ पक्ष निर्देशों का पालन नहीं करते हैं, तो यह उच्च संभावना के साथ देखा जाएगा, 75% या 90% कहते हैं। एक तरह से, गुप्त विरोधी सक्रिय होते हैं जो बाहरी गैर-क्रिप्टोग्राफ़िक (जैसे व्यवसाय) चिंताओं के कारण निष्क्रिय रूप से कार्य करने के लिए मजबूर होते हैं। यह तंत्र प्रोटोकॉल खोजने की उम्मीद में दोनों मॉडलों के बीच एक पुल स्थापित करता है जो व्यवहार में कुशल और सुरक्षित हैं। | ||
कई क्रिप्टोग्राफ़िक प्रोटोकॉल की तरह, | कई क्रिप्टोग्राफ़िक प्रोटोकॉल की तरह, बहु-पक्ष कम्प्यूटेशन प्रोटोकॉल की सुरक्षा विभिन्न मान्यताओं पर भरोसा कर सकती है: | ||
* यह कम्प्यूटेशनल हो सकता है (यानी कुछ गणितीय समस्या पर आधारित, जैसे फैक्टरिंग) या बिना शर्त, अर्थात् चैनलों पर संदेशों की भौतिक अनुपलब्धता पर निर्भर (आमतौर पर त्रुटि की कुछ संभावना के साथ जिसे मनमाने | * यह कम्प्यूटेशनल हो सकता है (यानी कुछ गणितीय समस्या पर आधारित, जैसे फैक्टरिंग) या बिना शर्त, अर्थात् चैनलों पर संदेशों की भौतिक अनुपलब्धता पर निर्भर (आमतौर पर त्रुटि की कुछ संभावना के साथ जिसे मनमाने रूप से छोटा किया जा सकता है)। | ||
* मॉडल यह मान सकता है कि प्रतिभागी एक [[तुल्यकालन नेटवर्क]] का उपयोग करते हैं, जहां एक टिक पर भेजा गया संदेश हमेशा अगले टिक पर आता है, या यह कि एक सुरक्षित और विश्वसनीय प्रसारण चैनल मौजूद है, या प्रतिभागियों की प्रत्येक जोड़ी के बीच एक सुरक्षित संचार चैनल मौजूद है जहां एक विरोधी चैनल आदि में संदेशों को पढ़, संशोधित या उत्पन्न नहीं कर सकता है। | * मॉडल यह मान सकता है कि प्रतिभागी एक [[तुल्यकालन नेटवर्क]] का उपयोग करते हैं, जहां एक टिक पर भेजा गया संदेश हमेशा अगले टिक पर आता है, या यह कि एक सुरक्षित और विश्वसनीय प्रसारण चैनल मौजूद है, या प्रतिभागियों की प्रत्येक जोड़ी के बीच एक सुरक्षित संचार चैनल मौजूद है जहां एक विरोधी चैनल आदि में संदेशों को पढ़, संशोधित या उत्पन्न नहीं कर सकता है। | ||
ईमानदार | ईमानदार पक्षकारों का समूह जो कम्प्यूटेशनल कार्य निष्पादित कर सकता है, एक्सेस संरचना की अवधारणा से संबंधित है। [[विरोधी संरचना]]एं स्थिर हो सकती हैं, जहां विरोधी बहु-पक्षीय कम्प्यूटेशन की शुरुआत से पहले अपने पीड़ितों को चुनता है, या गतिशील, जहां वह बहु-पक्षीय कम्प्यूटेशन के निष्पादन के दौरान अपने पीड़ितों को चुनता है, जिससे बचाव कठिन हो जाता है। एक प्रतिकूल संरचना को दहलीज संरचना या अधिक जटिल संरचना के रूप में परिभाषित किया जा सकता है। थ्रेसहोल्ड संरचना में विरोधी कुछ थ्रेसहोल्ड तक कई प्रतिभागियों की स्मृति को दूषित या पढ़ सकता है। इस बीच, एक जटिल संरचना में यह प्रतिभागियों के कुछ पूर्वनिर्धारित सबसेट को प्रभावित कर सकता है, विभिन्न संभावित मिलीभगत को मॉडलिंग कर सकता है। | ||
== प्रोटोकॉल == | == प्रोटोकॉल == | ||
दो पक्ष | दो पक्ष कम्प्यूटेशन (2PC) और बहु-पक्षीय कम्प्यूटेशन के लिए प्रस्तावित प्रोटोकॉल के बीच प्रमुख अंतर हैं। साथ ही, अक्सर विशेष प्रयोजन के महत्व के प्रोटोकॉल के लिए एक विशेष प्रोटोकॉल जो सामान्य से विचलित होता है, को डिज़ाइन किया जाना है (मतदान, नीलामी, भुगतान, आदि)। | ||
=== द्विदलीय | === द्विदलीय कम्प्यूटेशन === | ||
{{Main|Secure two-party computation}} | {{Main|Secure two-party computation}} | ||
{{See also|Garbled circuit}} | {{See also|Garbled circuit}} | ||
दो पक्ष | दो पक्ष संस्थापन विशेष रूप से दिलचस्प है, न केवल एक एप्लीकेशन परिप्रेक्ष्य से बल्कि इसलिए भी कि दो पक्ष संस्थापन में विशेष तकनीकें लागू की जा सकती हैं जो बहु-पक्ष मामले में लागू नहीं होती हैं। दरअसल, सुरक्षित बहु-पक्ष कम्प्यूटेशन (वास्तव में सुरक्षित फ़ंक्शन मूल्यांकन का प्रतिबंधित मामला, जहां केवल एक फ़ंक्शन का मूल्यांकन किया जाता है) को पहली बार दो-पक्ष संस्थापन में प्रस्तुत किया गया था। मूल कार्य को अक्सर याओ के दो पत्रों में से एक के रूप में उद्धृत किया जाता है;<ref name="Yao86">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.</ref> हालांकि कागजात में वास्तव में वह नहीं होता है जिसे अब गारबल्ड सर्किट के रूप में जाना जाता है। याओ का गारबल्ड सर्किट प्रोटोकॉल। | ||
याओ का बुनियादी प्रोटोकॉल अर्ध-ईमानदार प्रतिद्वंद्वियों के खिलाफ सुरक्षित है और राउंड की संख्या के मामले में अत्यंत कुशल है, जो कि स्थिर है, और मूल्यांकन किए जा रहे लक्ष्य फ़ंक्शन से स्वतंत्र है। निश्चित लंबाई के बाइनरी में इनपुट के साथ फ़ंक्शन को बूलियन सर्किट के रूप में देखा जाता है। एक बूलियन सर्किट तीन अलग-अलग प्रकार के तारों से जुड़े फाटकों का एक संग्रह है: सर्किट-इनपुट तार, सर्किट-आउटपुट तार और मध्यवर्ती तार। प्रत्येक गेट को दो इनपुट तार प्राप्त होते हैं और इसमें एक एकल आउटपुट तार होता है जो फैन-आउट हो सकता है (अर्थात अगले स्तर पर कई गेटों को पास किया जा सकता है)। प्रत्येक गेट का बारी-बारी से मूल्यांकन करके सर्किट का सादा मूल्यांकन किया जाता है; यह मानते हुए कि फाटकों को स्थैतिक रूप से आदेशित किया गया है। गेट को एक ट्रूथ टेबल के रूप में दर्शाया जाता है जैसे कि बिट्स की प्रत्येक संभावित जोड़ी (इनपुट तारों के गेट से आने वाले) के लिए टेबल एक अद्वितीय आउटपुट बिट प्रदान करती है; जो गेट के आउटपुट वायर का मान है। मूल्यांकन के परिणाम सर्किट-आउटपुट तारों में प्राप्त बिट्स हैं। | याओ का बुनियादी प्रोटोकॉल अर्ध-ईमानदार प्रतिद्वंद्वियों के खिलाफ सुरक्षित है और राउंड की संख्या के मामले में अत्यंत कुशल है, जो कि स्थिर है, और मूल्यांकन किए जा रहे लक्ष्य फ़ंक्शन से स्वतंत्र है। निश्चित लंबाई के बाइनरी में इनपुट के साथ फ़ंक्शन को बूलियन सर्किट के रूप में देखा जाता है। एक बूलियन सर्किट तीन अलग-अलग प्रकार के तारों से जुड़े फाटकों का एक संग्रह है: सर्किट-इनपुट तार, सर्किट-आउटपुट तार और मध्यवर्ती तार। प्रत्येक गेट को दो इनपुट तार प्राप्त होते हैं और इसमें एक एकल आउटपुट तार होता है जो फैन-आउट हो सकता है (अर्थात अगले स्तर पर कई गेटों को पास किया जा सकता है)। प्रत्येक गेट का बारी-बारी से मूल्यांकन करके सर्किट का सादा मूल्यांकन किया जाता है; यह मानते हुए कि फाटकों को स्थैतिक रूप से आदेशित किया गया है। गेट को एक ट्रूथ टेबल के रूप में दर्शाया जाता है जैसे कि बिट्स की प्रत्येक संभावित जोड़ी (इनपुट तारों के गेट से आने वाले) के लिए टेबल एक अद्वितीय आउटपुट बिट प्रदान करती है; जो गेट के आउटपुट वायर का मान है। मूल्यांकन के परिणाम सर्किट-आउटपुट तारों में प्राप्त बिट्स हैं। | ||
याओ ने समझाया कि कैसे एक सर्किट (इसकी संरचना को छिपाना) को गार्बल करना है ताकि दो पक्ष, प्रेषक और | याओ ने समझाया कि कैसे एक सर्किट (इसकी संरचना को छिपाना) को गार्बल करना है ताकि दो पक्ष, प्रेषक और अभिग्राही, सर्किट के आउटपुट को सीख सकें और कुछ नहीं। एक उच्च स्तर पर, प्रेषक विकृत सर्किट तैयार करता है और इसे अभिग्राही को भेजता है, जो अनजाने में सर्किट का मूल्यांकन करता है, अपने और प्रेषक दोनों के आउटपुट के अनुरूप एन्कोडिंग सीखता है। फिर वह केवल प्रेषक के एनकोडिंग को वापस भेजता है, जिससे प्रेषक को आउटपुट के अपने हिस्से की गणना करने की अनुमति मिलती है। प्रेषक अभिग्राही आउटपुट एन्कोडिंग से अभिग्राही को बिट्स में मैपिंग भेजता है, जिससे अभिग्राही को अपना आउटपुट प्राप्त करने की अनुमति मिलती है। | ||
अधिक विस्तार से, गारबल्ड सर्किट की गणना निम्नानुसार की जाती है। मुख्य घटक एक डबल-कुंजी वाली सममित एन्क्रिप्शन योजना है। सर्किट के एक गेट को देखते हुए, इसके इनपुट तारों (या तो 0 या 1) के प्रत्येक संभावित मान को एक यादृच्छिक संख्या (लेबल) के साथ एन्कोड किया गया है। इनपुट बिट्स की चार संभावित जोड़ी में से प्रत्येक पर गेट के मूल्यांकन से उत्पन्न मूल्यों को भी यादृच्छिक लेबल के साथ बदल दिया जाता है। गेट की विकृत सत्य तालिका में कुंजी के रूप में इसके इनपुट लेबल का उपयोग करके प्रत्येक आउटपुट लेबल के एन्क्रिप्शन होते हैं। ट्रूथ टेबल में इन चार एनक्रिप्शन की स्थिति यादृच्छिक होती है, इसलिए गेट पर कोई जानकारी लीक नहीं होती है। | अधिक विस्तार से, गारबल्ड सर्किट की गणना निम्नानुसार की जाती है। मुख्य घटक एक डबल-कुंजी वाली सममित एन्क्रिप्शन योजना है। सर्किट के एक गेट को देखते हुए, इसके इनपुट तारों (या तो 0 या 1) के प्रत्येक संभावित मान को एक यादृच्छिक संख्या (लेबल) के साथ एन्कोड किया गया है। इनपुट बिट्स की चार संभावित जोड़ी में से प्रत्येक पर गेट के मूल्यांकन से उत्पन्न मूल्यों को भी यादृच्छिक लेबल के साथ बदल दिया जाता है। गेट की विकृत सत्य तालिका में कुंजी के रूप में इसके इनपुट लेबल का उपयोग करके प्रत्येक आउटपुट लेबल के एन्क्रिप्शन होते हैं। ट्रूथ टेबल में इन चार एनक्रिप्शन की स्थिति यादृच्छिक होती है, इसलिए गेट पर कोई जानकारी लीक नहीं होती है। | ||
प्रत्येक गारबल्ड गेट का सही मूल्यांकन करने के लिए एन्क्रिप्शन स्कीम में निम्नलिखित दो गुण होते हैं। सबसे पहले, किसी भी दो अलग-अलग कुंजियों के तहत एन्क्रिप्शन फ़ंक्शन की श्रेणियां अलग होती हैं (अत्यधिक संभावना के साथ)। दूसरी संपत्ति का कहना है कि यह कुशलतापूर्वक जांच की जा सकती है कि किसी दिए गए कुंजी के तहत दिए गए सिफरटेक्स्ट को एन्क्रिप्ट किया गया है या नहीं। इन दो गुणों के साथ | प्रत्येक गारबल्ड गेट का सही मूल्यांकन करने के लिए एन्क्रिप्शन स्कीम में निम्नलिखित दो गुण होते हैं। सबसे पहले, किसी भी दो अलग-अलग कुंजियों के तहत एन्क्रिप्शन फ़ंक्शन की श्रेणियां अलग होती हैं (अत्यधिक संभावना के साथ)। दूसरी संपत्ति का कहना है कि यह कुशलतापूर्वक जांच की जा सकती है कि किसी दिए गए कुंजी के तहत दिए गए सिफरटेक्स्ट को एन्क्रिप्ट किया गया है या नहीं। इन दो गुणों के साथ अभिग्राही, सभी सर्किट-इनपुट तारों के लिए लेबल प्राप्त करने के बाद, पहले यह पता लगाकर प्रत्येक गेट का मूल्यांकन कर सकता है कि उसकी लेबल कुंजियों के साथ चार सिफरटेक्स्ट में से कौन सा एन्क्रिप्ट किया गया है, और फिर आउटपुट वायर के लेबल को प्राप्त करने के लिए डिक्रिप्ट किया गया है। . यह अनजाने में किया जाता है क्योंकि मूल्यांकन के दौरान सभी अभिग्राही सीखते हैं कि बिट्स के एन्कोडिंग हैं। | ||
प्रेषक (यानी सर्किट निर्माता) इनपुट बिट्स को मूल्यांकनकर्ता को एन्कोडिंग के रूप में भेजा जा सकता है; जबकि | प्रेषक (यानी सर्किट निर्माता) इनपुट बिट्स को मूल्यांकनकर्ता को एन्कोडिंग के रूप में भेजा जा सकता है; जबकि अभिग्राही के (यानी सर्किट मूल्यांकनकर्ता) उसके इनपुट बिट्स के अनुरूप एनकोडिंग 1-आउट-ऑफ-2 [[ बेखबर स्थानांतरण | ओब्लिवियस स्थानांतरण]] (ओटी) प्रोटोकॉल के माध्यम से प्राप्त किए जाते हैं। 1-आउट-ऑफ-2 ओटी प्रोटोकॉल, प्रेषक को दो मूल्यों C1 और C2 के कब्जे में सक्षम बनाता है, अभिग्राही द्वारा अनुरोधित एक को भेजने के लिए (बी {1,2} में एक मूल्य) इस तरह से कि प्रेषक करता है पता नहीं क्या मूल्य स्थानांतरित किया गया है, और अभिग्राही केवल पूछे गए मूल्य को सीखता है। | ||
यदि कोई दुर्भावनापूर्ण विरोधियों पर विचार कर रहा है, तो दोनों पक्षों के सही व्यवहार को सुनिश्चित करने के लिए और तंत्र प्रदान करने की आवश्यकता है। निर्माण के द्वारा प्रेषक के लिए सुरक्षा दिखाना आसान है यदि OT प्रोटोकॉल पहले से ही दुर्भावनापूर्ण विरोधी के खिलाफ सुरक्षित है, जैसा कि सभी | यदि कोई दुर्भावनापूर्ण विरोधियों पर विचार कर रहा है, तो दोनों पक्षों के सही व्यवहार को सुनिश्चित करने के लिए और तंत्र प्रदान करने की आवश्यकता है। निर्माण के द्वारा प्रेषक के लिए सुरक्षा दिखाना आसान है यदि OT प्रोटोकॉल पहले से ही दुर्भावनापूर्ण विरोधी के खिलाफ सुरक्षित है, जैसा कि सभी अभिग्राही कर सकते हैं एक विकृत सर्किट का मूल्यांकन करना है जो विफल हो जाएगायदि वह निर्देशों से विचलित हो जाता है तो प्रत्येक सर्किट-आउटपुट तार। प्रेषक के पक्ष में स्थिति बहुत भिन्न है। उदाहरण के लिए, वह एक गलत विकृत सर्किट भेज सकता है जो अभिग्राही के इनपुट को प्रकट करने वाले फ़ंक्शन की गणना करता है। इसका मतलब यह होगा कि गोपनीयता अब नहीं रह गई है, लेकिन चूंकि सर्किट विकृत है, अभिग्राही इसका पता लगाने में सक्षम नहीं होगा। हालांकि, इस प्रोटोकॉल को अर्ध-ईमानदार प्रोटोकॉल की तुलना में एक छोटे ओवरहेड के साथ दुर्भावनापूर्ण विरोधियों के खिलाफ सुरक्षित बनाने के लिए जीरो-नॉलेज प्रूफ को कुशलता से लागू करना संभव है।<ref name=":0" /> | ||
=== | === बहु-पक्ष प्रोटोकॉल === | ||
अधिकांश | अधिकांश बहु-पक्ष कम्प्यूटेशन प्रोटोकॉल, 2PC प्रोटोकॉल के विपरीत और विशेष रूप से निजी चैनलों की बिना शर्त संस्थापन के तहत, गुप्त साझाकरण का उपयोग करते हैं। गुप्त साझाकरण आधारित विधियों में, पार्टियां विशेष भूमिका नहीं निभाती हैं (जैसा कि याओ में, निर्माता और मूल्यांकनकर्ता की)। इसके बजाय, प्रत्येक तार से जुड़े डेटा को पक्षकारों के बीच साझा किया जाता है, और फिर प्रत्येक गेट का मूल्यांकन करने के लिए एक प्रोटोकॉल का उपयोग किया जाता है। फ़ंक्शन को अब परिमित क्षेत्र पर एक सर्किट के रूप में परिभाषित किया गया है, जैसा कि याओ के लिए उपयोग किए जाने वाले बाइनरी सर्किट के विपरीत है। इस तरह के एक सर्किट को साहित्य में एक अंकगणितीय सर्किट कहा जाता है, और इसमें जोड़ और गुणन द्वार होते हैं, जहां परिचालित मूल्यों को परिमित क्षेत्र में परिभाषित किया जाता है। | ||
गुप्त साझाकरण प्रत्येक पक्ष को शेयर वितरित करके कई | गुप्त साझाकरण प्रत्येक पक्ष को शेयर वितरित करके कई पक्षकारों के बीच एक रहस्य वितरित करने की अनुमति देता है। आमतौर पर दो प्रकार की गुप्त साझाकरण योजनाओं का उपयोग किया जाता है; शमीर की सीक्रेट शेयरिंग और एडिटिव सीक्रेट शेयरिंग। दोनों ही मामलों में शेयर एक परिमित क्षेत्र के यादृच्छिक तत्व हैं जो क्षेत्र में रहस्य को जोड़ते हैं; सहजता से, सुरक्षा हासिल की जाती है क्योंकि शेयरों का कोई भी गैर-योग्यता समूह बेतरतीब रूप से वितरित दिखता है। | ||
गुप्त साझाकरण योजनाएँ कुल | गुप्त साझाकरण योजनाएँ कुल पक्षकारों में से टी पक्षकारों को नियंत्रित करने वाले एक विरोधी को सहन कर सकती हैं, जहाँ टी योजना के आधार पर भिन्न होता है, विरोधी निष्क्रिय या सक्रिय हो सकता है, और विरोधी की शक्ति पर विभिन्न धारणाएँ बनाई जाती हैं। शमीर गुप्त साझाकरण योजना एक निष्क्रिय विरोधी के खिलाफ सुरक्षित है जब <math>t < \frac{n}{2}</math> और एक सक्रिय विरोधी जब <math>t < \frac{n}{3}</math> सूचना-सैद्धांतिक सुरक्षा प्राप्त करते समय, जिसका अर्थ है कि भले ही विरोधी के पास असीम कम्प्यूटेशनल शक्ति हो, वे किसी शेयर के अंतर्निहित रहस्य के बारे में कोई जानकारी नहीं सीख सकते। बीजीडब्ल्यू प्रोटोकॉल,<ref>{{Cite book|last1=Ben-Or|first1=Michael|last2=Goldwasser|first2=Shafi|last3=Wigderson|first3=Avi|date=1988-01-01|title=गैर-क्रिप्टोग्राफ़िक दोष-सहिष्णु वितरित संगणना के लिए पूर्णता प्रमेय|publisher=ACM|pages=1–10|doi=10.1145/62212.62213|isbn=978-0897912648|s2cid=207554159}}</ref> जो गुप्त शेयरों पर जोड़ और गुणा की गणना करने के तरीके को परिभाषित करता है, अक्सर शमीर गुप्त शेयरों के साथ कार्यों की गणना करने के लिए उपयोग किया जाता है। एडिटिव सीक्रेट शेयरिंग स्कीम्स एक पक्ष को छोड़कर सभी को नियंत्रित करने वाले विरोधी को सहन कर सकती हैं, अर्थात <math>t < n</math>असीमित कम्प्यूटेशनल शक्ति के साथ एक निष्क्रिय और सक्रिय विरोधी के खिलाफ सुरक्षा बनाए रखते हुए। कुछ प्रोटोकॉल के लिए एक सेटअप चरण की आवश्यकता होती है, जो केवल कम्प्यूटेशनल रूप से बंधे हुए विरोधी के खिलाफ सुरक्षित हो सकता है। | ||
कई प्रणालियों ने गुप्त साझाकरण योजनाओं के साथ | कई प्रणालियों ने गुप्त साझाकरण योजनाओं के साथ बहु-पक्ष कम्प्यूटेशन के विभिन्न रूपों को लागू किया है। सबसे लोकप्रिय एसपीडीजेड है,<ref name="SPDZ">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.</ref> जो एडिटिव सीक्रेट शेयरों के साथ बहु-पक्ष कम्प्यूटेशन को लागू करता है और सक्रिय विरोधियों के खिलाफ सुरक्षित है। | ||
=== अन्य प्रोटोकॉल === | === अन्य प्रोटोकॉल === | ||
2014 में सुरक्षित | 2014 में सुरक्षित कम्प्यूटेशन में निष्पक्षता का एक मॉडल जिसमें एक विरोधी पक्ष जो आउटपुट प्राप्त करने पर रोक लगाती है, को [[ Bitcoin ]] नेटवर्क या निष्पक्ष लॉटरी के लिए पारस्परिक रूप से पूर्वनिर्धारित मौद्रिक दंड का भुगतान करने के लिए मजबूर किया गया है।<ref>{{cite journal|author1=Iddo Bentov, Ranjit Kumaresan|title=फेयर प्रोटोकॉल डिजाइन करने के लिए बिटकॉइन का उपयोग कैसे करें|journal=Cryptology e Print|date=2014|issue=129|pages=1–38|url=https://eprint.iacr.org/2014/129.pdf|access-date=9 October 2014}}</ref> | ||
== प्रैक्टिकल | == प्रैक्टिकल बहु-पक्ष कम्प्यूटेशन सिस्टम == | ||
हाल के वर्षों में 2PC और | हाल के वर्षों में 2PC और बहु-पक्ष कम्प्यूटेशन सिस्टम में बहुत प्रगति हुई है। | ||
=== याओ आधारित प्रोटोकॉल === | === याओ आधारित प्रोटोकॉल === | ||
याओ-आधारित प्रोटोकॉल के साथ काम करते समय मुख्य मुद्दों में से एक यह है कि सुरक्षित रूप से मूल्यांकन किए जाने वाले फ़ंक्शन (जो एक मनमाना | याओ-आधारित प्रोटोकॉल के साथ काम करते समय मुख्य मुद्दों में से एक यह है कि सुरक्षित रूप से मूल्यांकन किए जाने वाले फ़ंक्शन (जो एक मनमाना प्रोग्राम हो सकता है) को एक सर्किट के रूप में दर्शाया जाना चाहिए, जिसमें आमतौर पर XOR और AND गेट्स शामिल होते हैं। चूंकि अधिकांश वास्तविक दुनिया के प्रोग्राम में लूप और जटिल डेटा संरचनाएं होती हैं, यह एक अत्यधिक गैर-तुच्छ कार्य है। फेयरप्ले सिस्टम<ref name="Fairplay">A. Ben-David, N. Nisan and B. Pinkas, "FairplayMP: a system for secure multi-party computation," ACM CCS 2008, pp. 257–266, 2008.</ref> इस समस्या से निपटने के लिए बनाया गया पहला उपकरण था। फेयरप्ले में दो मुख्य घटक होते हैं। इनमें से पहला एक कंपाइलर है जो उपयोगकर्ताओं को सरल उच्च-स्तरीय भाषा में प्रोग्राम लिखने और इन प्रोग्रामों को बूलियन सर्किट प्रतिनिधित्व में आउटपुट करने में सक्षम बनाता है। दूसरा घटक तब सर्किट को गारबल कर सकता है और गारबल्ड सर्किट का सुरक्षित रूप से मूल्यांकन करने के लिए एक प्रोटोकॉल निष्पादित कर सकता है। साथ ही साथ याओ के प्रोटोकॉल पर आधारित दो-पक्षीय कम्प्यूटेशन, फेयरप्ले बहु-पक्षीय प्रोटोकॉल भी कर सकता है। यह बीएमआर प्रोटोकॉल का उपयोग करके किया जाता है,<ref name="Fairplay" />जो याओ के निष्क्रिय रूप से सुरक्षित प्रोटोकॉल को सक्रिय मामले तक विस्तारित करता है। | ||
फेयरप्ले की शुरुआत के बाद के वर्षों में, सक्रिय सुरक्षा के लिए दक्षता सुधार और तकनीक दोनों के रूप में याओ के बुनियादी प्रोटोकॉल में कई सुधार किए गए हैं। इनमें मुफ्त XOR विधि जैसी तकनीकें शामिल हैं, जो XOR गेट्स के बहुत सरल मूल्यांकन की अनुमति देती हैं, और गारबल्ड रो रिडक्शन, दो इनपुट के साथ गारबल्ड टेबल के आकार को 25% तक कम कर देता है।<ref name="PSSW">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.</ref> | फेयरप्ले की शुरुआत के बाद के वर्षों में, सक्रिय सुरक्षा के लिए दक्षता सुधार और तकनीक दोनों के रूप में याओ के बुनियादी प्रोटोकॉल में कई सुधार किए गए हैं। इनमें मुफ्त XOR विधि जैसी तकनीकें शामिल हैं, जो XOR गेट्स के बहुत सरल मूल्यांकन की अनुमति देती हैं, और गारबल्ड रो रिडक्शन, दो इनपुट के साथ गारबल्ड टेबल के आकार को 25% तक कम कर देता है।<ref name="PSSW">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.</ref> | ||
Line 105: | Line 105: | ||
लिंडेल और पिंकस द्वारा सक्रिय सुरक्षा के लिए यह दृष्टिकोण शुरू किया गया था।<ref>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.</ref> इस तकनीक को पिंकस एट अल द्वारा लागू किया गया था। 2009 में,<ref name="PSSW" />इसने उन्नत एन्क्रिप्शन स्टैंडर्ड (एईएस) सर्किट का पहला सक्रिय रूप से सुरक्षित दो-पक्षीय मूल्यांकन प्रदान किया, जिसे अत्यधिक जटिल (लगभग 30,000 AND और XOR गेट्स से मिलकर), गैर-तुच्छ कार्य (कुछ संभावित अनुप्रयोगों के साथ) के रूप में माना जाता है। गणना करने के लिए 20 मिनट और प्राप्त करने के लिए 160 सर्किट की आवश्यकता होती है <math>2^{-40}</math> धोखा देने की संभावना। | लिंडेल और पिंकस द्वारा सक्रिय सुरक्षा के लिए यह दृष्टिकोण शुरू किया गया था।<ref>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.</ref> इस तकनीक को पिंकस एट अल द्वारा लागू किया गया था। 2009 में,<ref name="PSSW" />इसने उन्नत एन्क्रिप्शन स्टैंडर्ड (एईएस) सर्किट का पहला सक्रिय रूप से सुरक्षित दो-पक्षीय मूल्यांकन प्रदान किया, जिसे अत्यधिक जटिल (लगभग 30,000 AND और XOR गेट्स से मिलकर), गैर-तुच्छ कार्य (कुछ संभावित अनुप्रयोगों के साथ) के रूप में माना जाता है। गणना करने के लिए 20 मिनट और प्राप्त करने के लिए 160 सर्किट की आवश्यकता होती है <math>2^{-40}</math> धोखा देने की संभावना। | ||
जितने सर्किट का मूल्यांकन किया जाता है, | जितने सर्किट का मूल्यांकन किया जाता है, पक्षकारों (अभिग्राही सहित) को यह सुनिश्चित करने के लिए अपने इनपुट के लिए प्रतिबद्ध होना चाहिए कि सभी पुनरावृत्तियों में समान मान का उपयोग किया जाता है। पिंकस एट अल के प्रयोग। की सूचना दी<ref name="PSSW" />दिखाएं कि प्रोटोकॉल की बाधा स्थिरता जांच में निहित है। एईएस सर्किट का मूल्यांकन करने के लिए उन्हें विभिन्न मूल्यों के बारे में 6,553,600 प्रतिबद्धताओं को नेट पर भेजना था। हाल के नतीजों में<ref>Y. Lindell, "Fast cut-and-choose based protocols for malicious and covert adversaries," Crypto 2013, vol. Springer LNCS 8043, pp. 1-17, 2013.</ref> सक्रिय रूप से सुरक्षित याओ-आधारित कार्यान्वयन की दक्षता में और भी सुधार किया गया, जिसके लिए केवल 40 सर्किटों की आवश्यकता थी, और प्राप्त करने के लिए बहुत कम प्रतिबद्धताएं थीं। <math>2^{-40}</math> धोखा देने की संभावना। संचरित परिपथों पर कट-एंड-चॉइस करने के लिए नई कार्यप्रणालियों से सुधार आया है। | ||
हाल ही में, गारबल्ड सर्किट पर आधारित अत्यधिक समानांतर कार्यान्वयन पर ध्यान केंद्रित किया गया है, जिसे कई कोर के साथ [[सेंट्रल प्रोसेसिंग यूनिट]] पर चलाने के लिए डिज़ाइन किया गया है। क्रेउटर, एट अल।<ref>B. Kreuter, a. shalet and C.-H. Shen, "Billion gate secure computation with malicious adversaries," USENIX Security Symposium 2012, pp. 285–300, 2012.</ref> एक शक्तिशाली क्लस्टर कंप्यूटर के 512 कोर पर चलने वाले कार्यान्वयन का वर्णन करें। इन संसाधनों का उपयोग करके वे 4095-बिट [[ दूरी संपादित करें ]] फंक्शन का मूल्यांकन कर सकते हैं, जिसके सर्किट में लगभग 6 बिलियन गेट शामिल हैं। इसे पूरा करने के लिए उन्होंने फेयरप्ले की तुलना में एक कस्टम, बेहतर अनुकूलित सर्किट कंपाइलर और पाइपलाइनिंग जैसे कई नए अनुकूलन विकसित किए, जिससे पूरे नेटवर्क में गारबल्ड सर्किट का प्रसारण शुरू हो गया, जबकि बाकी सर्किट अभी भी उत्पन्न हो रहे हैं। एईएस की गणना करने का समय सक्रिय मामले में 1.4 सेकंड प्रति ब्लॉक, 512-नोड क्लस्टर मशीन का उपयोग करके और एक नोड का उपयोग करके 115 सेकंड तक कम किया गया था। शेलाट और शेन<ref>A. Shelat and C.-H. Shen, "Fast two-party secure computation with minimal assumptions," ACM CCS 2013, pp. 523–534, 2013.</ref> कमोडिटी हार्डवेयर का उपयोग करके इसे 0.52 सेकंड प्रति ब्लॉक तक सुधारें। वही | हाल ही में, गारबल्ड सर्किट पर आधारित अत्यधिक समानांतर कार्यान्वयन पर ध्यान केंद्रित किया गया है, जिसे कई कोर के साथ [[सेंट्रल प्रोसेसिंग यूनिट]] पर चलाने के लिए डिज़ाइन किया गया है। क्रेउटर, एट अल।<ref>B. Kreuter, a. shalet and C.-H. Shen, "Billion gate secure computation with malicious adversaries," USENIX Security Symposium 2012, pp. 285–300, 2012.</ref> एक शक्तिशाली क्लस्टर कंप्यूटर के 512 कोर पर चलने वाले कार्यान्वयन का वर्णन करें। इन संसाधनों का उपयोग करके वे 4095-बिट [[ दूरी संपादित करें ]] फंक्शन का मूल्यांकन कर सकते हैं, जिसके सर्किट में लगभग 6 बिलियन गेट शामिल हैं। इसे पूरा करने के लिए उन्होंने फेयरप्ले की तुलना में एक कस्टम, बेहतर अनुकूलित सर्किट कंपाइलर और पाइपलाइनिंग जैसे कई नए अनुकूलन विकसित किए, जिससे पूरे नेटवर्क में गारबल्ड सर्किट का प्रसारण शुरू हो गया, जबकि बाकी सर्किट अभी भी उत्पन्न हो रहे हैं। एईएस की गणना करने का समय सक्रिय मामले में 1.4 सेकंड प्रति ब्लॉक, 512-नोड क्लस्टर मशीन का उपयोग करके और एक नोड का उपयोग करके 115 सेकंड तक कम किया गया था। शेलाट और शेन<ref>A. Shelat and C.-H. Shen, "Fast two-party secure computation with minimal assumptions," ACM CCS 2013, pp. 523–534, 2013.</ref> कमोडिटी हार्डवेयर का उपयोग करके इसे 0.52 सेकंड प्रति ब्लॉक तक सुधारें। वही पत्र प्रति सेकंड 21 ब्लॉक के थ्रूपुट पर रिपोर्ट करता है, लेकिन प्रति ब्लॉक 48 सेकंड की विलंबता के साथ। | ||
इस बीच, शोधकर्ताओं के एक अन्य समूह ने समानता के समान स्तर प्राप्त करने के लिए उपभोक्ता-ग्रेड [[ ग्राफ़िक्स प्रोसेसिंग युनिट ]] का उपयोग करके जांच की है।<ref name="FN">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.</ref> वे अपने जीपीयू-विशिष्ट प्रोटोकॉल को डिजाइन करने के लिए ओटी एक्सटेंशन और कुछ अन्य नई तकनीकों का उपयोग करते हैं। यह दृष्टिकोण समान संख्या में कोर का उपयोग करके क्लस्टर कंप्यूटिंग कार्यान्वयन के लिए तुलनीय दक्षता प्राप्त करता है। हालांकि, लेखक केवल एईएस सर्किट के कार्यान्वयन पर रिपोर्ट करते हैं, जिसमें करीब 50,000 द्वार हैं। दूसरी ओर, यहाँ आवश्यक हार्डवेयर कहीं अधिक सुलभ है, क्योंकि समान उपकरण पहले से ही कई लोगों के डेस्कटॉप कंप्यूटर या गेम कंसोल में पाए जा सकते हैं। लेखकों को मानक जीपीयू के साथ मानक डेस्कटॉप पर प्रति एईएस ब्लॉक 2.7 सेकंड का समय मिलता है। यदि वे सुरक्षा को गुप्त सुरक्षा के समान कुछ कम करने की अनुमति देते हैं, तो वे प्रति AES ब्लॉक 0.30 सेकंड का रन टाइम प्राप्त करते हैं। निष्क्रिय सुरक्षा के मामले में 250 मिलियन गेट्स और 75 मिलियन गेट्स प्रति सेकंड की दर से सर्किट के प्रसंस्करण की रिपोर्टें हैं।<ref>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.</ref> | इस बीच, शोधकर्ताओं के एक अन्य समूह ने समानता के समान स्तर प्राप्त करने के लिए उपभोक्ता-ग्रेड [[ ग्राफ़िक्स प्रोसेसिंग युनिट ]] का उपयोग करके जांच की है।<ref name="FN">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.</ref> वे अपने जीपीयू-विशिष्ट प्रोटोकॉल को डिजाइन करने के लिए ओटी एक्सटेंशन और कुछ अन्य नई तकनीकों का उपयोग करते हैं। यह दृष्टिकोण समान संख्या में कोर का उपयोग करके क्लस्टर कंप्यूटिंग कार्यान्वयन के लिए तुलनीय दक्षता प्राप्त करता है। हालांकि, लेखक केवल एईएस सर्किट के कार्यान्वयन पर रिपोर्ट करते हैं, जिसमें करीब 50,000 द्वार हैं। दूसरी ओर, यहाँ आवश्यक हार्डवेयर कहीं अधिक सुलभ है, क्योंकि समान उपकरण पहले से ही कई लोगों के डेस्कटॉप कंप्यूटर या गेम कंसोल में पाए जा सकते हैं। लेखकों को मानक जीपीयू के साथ मानक डेस्कटॉप पर प्रति एईएस ब्लॉक 2.7 सेकंड का समय मिलता है। यदि वे सुरक्षा को गुप्त सुरक्षा के समान कुछ कम करने की अनुमति देते हैं, तो वे प्रति AES ब्लॉक 0.30 सेकंड का रन टाइम प्राप्त करते हैं। निष्क्रिय सुरक्षा के मामले में 250 मिलियन गेट्स और 75 मिलियन गेट्स प्रति सेकंड की दर से सर्किट के प्रसंस्करण की रिपोर्टें हैं।<ref>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.</ref> | ||
== सुरक्षित | == सुरक्षित बहु-पक्ष कम्प्यूटेशन डेटा विश्लेषण का कार्यान्वयन == | ||
सुरक्षित | सुरक्षित बहु-पक्ष कम्प्यूटेशन के प्राथमिक अनुप्रयोगों में से एक डेटा के विश्लेषण की अनुमति देता है जो कई पक्षकारों द्वारा आयोजित किया जाता है, या डेटा संरक्षक को डेटा विश्लेषण के प्रकार को समझने की अनुमति के बिना तीसरे पक्ष द्वारा डेटा का अंधा विश्लेषण किया जाता है। | ||
=== प्रदर्शन और उत्पादन प्रणाली === | === प्रदर्शन और उत्पादन प्रणाली === | ||
Line 119: | Line 119: | ||
{| class="sortable wikitable" style="text-align: left" | {| class="sortable wikitable" style="text-align: left" | ||
|- | |- | ||
! | ! विश्लेषण | ||
! | ! डेटा संरक्षक | ||
! | ! तकनीकी प्रदाता | ||
! | ! वर्ष प्रस्तुत किया | ||
! | ! टिप्पणी | ||
! | ! अभी भी | ||
उपयोग में है?? | |||
|- | |- | ||
| | |बोस्टन महिला परिवर्तनशील परिषद की रिपोर्ट<ref>https://www.boston.gov/sites/default/files/document-file-09-2017/bwwcr-2016-new-report.pdf {{Bare URL PDF|date=September 2022}}</ref> | ||
| | |बोस्टन-क्षेत्र के नियोक्ता | ||
| | |बोस्टन विश्वविद्यालय | ||
|2016 | |2016 | ||
| | | | ||
| | | | ||
|- | |- | ||
| | |एलेघेनी काउंटी डेटासेट<ref>{{cite web | url=https://bipartisanpolicy.org/press-release/bpc-partners-with-allegheny-county-on-new-privacy-preserving-data-project/ | title=BPC Partners with Allegheny County on New Privacy-Preserving Data Project | Bipartisan Policy Center }}</ref><ref>https://bipartisanpolicy.org/wp-content/uploads/2019/06/Privacy-Preserved-Data-Sharing-for-Evidence-Based-Policy-Decisions.pdf {{Bare URL PDF|date=September 2022}}</ref><ref>Galois 2018 Technical Report</ref><ref>https://gcn.com/articles/2019/05/31/secure-multiparty-computation.aspx</ref> | ||
| | |विभिन्न काउंटी कार्यालयों | ||
| | से एकाधिक डेटासेट | ||
|गैलोज़ और द्विदलीय नीति केंद्र | |||
|2018 | |2018 | ||
|} | |} | ||
=== सॉफ्टवेयर | === सॉफ्टवेयर लाइब्रेरी === | ||
{| class="sortable wikitable" style="text-align: left" | {| class="sortable wikitable" style="text-align: left" | ||
|- | |- | ||
! | ! नाम | ||
! | ! विकासक | ||
! | ! वर्ष प्रस्तुत किया | ||
! | ! टिप्पणी | ||
! | ! अभी भी बनाए रखा? | ||
|- | |- | ||
| | | एसईपीआईए - निजी जानकारी एकत्रीकरण के माध्यम से सुरक्षा | ||
| | | | ||
| | | | ||
Line 155: | Line 157: | ||
| | | | ||
|- | |- | ||
| | | एससीएपीआई - सुरक्षित कंप्यूटेशन एपीआई<ref>{{cite web | url=https://cyber.biu.ac.il/scapi/ | title=SCAPI: The Secure Computation API Library | BIU Cyber Center }}</ref> | ||
| | | | ||
| | | | ||
Line 161: | Line 163: | ||
| | | | ||
|- | |- | ||
| | | पलिसडे - होमोमोर्फिक एन्क्रिप्शन लाइब्रेरी<ref>https://palisade-crypto.org/</ref> | ||
| | | | ||
| | | | ||
Line 167: | Line 169: | ||
| | | | ||
|- | |- | ||
| | | एमपी-एसपीडीजेड - बहु-पक्षीय कंप्यूटेशन के लिए एक वर्सटाइल रूपरेखा <ref>https://mp-spdz.readthedocs.io</ref> | ||
| | | सीएसआईआरओ | ||
का डेटा61 | |||
| 2018 | | 2018 | ||
| 40 | | 40 प्रोटोकॉल संस्करण, मशीन सीखने की कार्यक्षमता पर ध्यान केंद्रित करते हैं | ||
| | | 2023 तक | ||
|} | |} | ||
=== | === तकनीकी प्रदाता === | ||
* [https://sharemind.cyber.ee शेयरमाइंड] | * [https://sharemind.cyber.ee शेयरमाइंड] | ||
* [http://galois.com/ | * [http://galois.com/ गैलोज़] | ||
* [https://dualitytech.com/ | * [https://dualitytech.com/ द्वैत तकनीक] | ||
== यह भी देखें == | == यह भी देखें == | ||
* [[निजी सेट चौराहा]] | * [[निजी सेट चौराहा|निजी सेट परस्पर क्रिया]] | ||
* [[डिजिटल मुद्रा]] | * [[डिजिटल मुद्रा]] | ||
* [[होमोमोर्फिक एन्क्रिप्शन]] | * [[होमोमोर्फिक एन्क्रिप्शन]] | ||
* [[मानसिक पोकर]] | * [[मानसिक पोकर|मानसिक निर्विकार,]] | ||
* [[बहुदलीय मेला विनिमय प्रोटोकॉल]] | * [[बहुदलीय मेला विनिमय प्रोटोकॉल|बहु-पक्ष स्पष्ट विनिमय प्रोटोकॉल]] | ||
* | * ओब्लिवियस ट्रांसफर | ||
* [[गोपनीयता-संरक्षण कम्प्यूटेशनल ज्यामिति]] | * [[गोपनीयता-संरक्षण कम्प्यूटेशनल ज्यामिति]] | ||
* याओ के | * याओ के मिलियनेयर की समस्या | ||
* [[गोपनीयता बढ़ाने वाली प्रौद्योगिकियां]] | * [[गोपनीयता बढ़ाने वाली प्रौद्योगिकियां]] | ||
* [[विभेदक गोपनीयता]] | * [[विभेदक गोपनीयता|विभिन्न गोपनीयता]] | ||
== संदर्भ == | == संदर्भ == | ||
Line 203: | Line 206: | ||
* [https://web.archive.org/web/20140512222113/http://www.cs.ut.ee/~lipmaa/crypto/link/mpc/ Helger Lipmaa's links about multiparty computation] | * [https://web.archive.org/web/20140512222113/http://www.cs.ut.ee/~lipmaa/crypto/link/mpc/ Helger Lipmaa's links about multiparty computation] | ||
* {{webarchive |url=https://web.archive.org/web/20061230075325/http://www.theiia.org/ITAudit/index.cfm?act=itaudit.archive&fid=216 |date=December 30, 2006 |title=Nick Szabo, "The God Protocols" }} | * {{webarchive |url=https://web.archive.org/web/20061230075325/http://www.theiia.org/ITAudit/index.cfm?act=itaudit.archive&fid=216 |date=December 30, 2006 |title=Nick Szabo, "The God Protocols" }} | ||
* [https://github.com/emp-toolkit EMP-toolkit] — Efficient Multi-Party computation Toolkit. Includes implementation of basic | * [https://github.com/emp-toolkit EMP-toolkit] — Efficient Multi-Party computation Toolkit. Includes implementation of basic बहु-पक्ष कम्प्यूटेशन primitives as well as protocols with semi-honest security and malicious security. | ||
* [https://github.com/sjehan/JavascriptMPC JavascriptMPC] — JavascriptMPC A golang | * [https://github.com/sjehan/JavascriptMPC JavascriptMPC] — JavascriptMPC A golang बहु-पक्ष कम्प्यूटेशन framework that can compile Javascript files into garbled circuits. | ||
* [http://www.cs.fit.edu/~msilaghi/pages/secure/ 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. | * [http://www.cs.fit.edu/~msilaghi/pages/secure/ 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. | ||
* [http://www.lior.ca/publications/VMCrypt_Manual_Rev1.0.pdf VMCrypt] A Java library for scalable secure computation. By Lior Malka. | * [http://www.lior.ca/publications/VMCrypt_Manual_Rev1.0.pdf VMCrypt] A Java library for scalable secure computation. By Lior Malka. | ||
Line 211: | Line 214: | ||
* [http://www.brics.dk/SMCL/ Secure Multiparty Computation Language] - project for development of a 'domain specific programming language for secure multiparty computation' and associated cryptographic runtime. | * [http://www.brics.dk/SMCL/ Secure Multiparty Computation Language] - project for development of a 'domain specific programming language for secure multiparty computation' and associated cryptographic runtime. | ||
* [http://viff.dk/ 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. | * [http://viff.dk/ 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. | ||
* [https://www.win.tue.nl/~berry/mpyc/ MPyC]: Secure Multiparty Computation in [[Python (programming language)|Python]] (and [[Project Jupyter|Jupyter notebooks]]) — Open-source package for | * [https://www.win.tue.nl/~berry/mpyc/ MPyC]: Secure Multiparty Computation in [[Python (programming language)|Python]] (and [[Project Jupyter|Jupyter notebooks]]) — Open-source package for बहु-पक्ष कम्प्यूटेशन 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. | ||
* [https://homes.esat.kuleuven.be/~nsmart/SCALE/ SCALE-MAMBA | * [https://homes.esat.kuleuven.be/~nsmart/SCALE/ SCALE-MAMBA बहु-पक्ष कम्प्यूटेशन: Secure Computation Algorithms from LEuven] — Framework for various बहु-पक्ष कम्प्यूटेशन 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. | ||
* [https://sharemind.cyber.ee/ 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. | * [https://sharemind.cyber.ee/ 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. | ||
* [https://github.com/mahdiz/mpclib 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 | * [https://github.com/mahdiz/mpclib 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 बहु-पक्ष कम्प्यूटेशन protocols in virtual networks. | ||
* [https://doi.org/10.1007%2F978-3-642-02617-1_42 Virtual Parties in SMC] A protocol for Virtual Parties in SMC (Secure Multi Party computation) | * [https://doi.org/10.1007%2F978-3-642-02617-1_42 Virtual Parties in SMC] A protocol for Virtual Parties in SMC (Secure Multi Party computation) | ||
* [http://www.cs.tau.ac.il/security_workshop_spring_09/#projects | * [http://www.cs.tau.ac.il/security_workshop_spring_09/#projects बहु-पक्ष कम्प्यूटेशन Java-based implementation] A Java-based implementation of the बहु-पक्ष कम्प्यूटेशन 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. | ||
* [http://www.sepia.ee.ethz.ch/ SEPIA] A java library for SMC using secret sharing. Basic operations are optimized for large numbers of parallel invocations (code available under the [[LGPL]]). | * [http://www.sepia.ee.ethz.ch/ SEPIA] A java library for SMC using secret sharing. Basic operations are optimized for large numbers of parallel invocations (code available under the [[LGPL]]). | ||
* [https://github.com/czielinski/secmultipartycomp/blob/master/slides/sec_multi_party_comp.pdf Introduction to SMC] on GitHub | * [https://github.com/czielinski/secmultipartycomp/blob/master/slides/sec_multi_party_comp.pdf Introduction to SMC] on GitHub |
Revision as of 12:22, 20 May 2023
सुरक्षित बहु-पक्ष कम्प्यूटेशन, जिसे सुरक्षित कम्प्यूटेशन, बहु-पक्ष कम्प्यूटेशन (एमपीसी) या गोपनीयता-संरक्षण कम्प्यूटेशन (संगणना) के रूप में भी जाना जाता है, क्रिप्टोग्राफी का एक उपक्षेत्र है, जिसका लक्ष्य पक्षकारों के लिए उन इनपुटों को निजी रखते हुए उनके इनपुट पर संयुक्त रूप से एक फ़ंक्शन की गणना करना है। पारंपरिक क्रिप्टोग्राफ़िक कार्यों के विपरीत, जहाँ क्रिप्टोग्राफी (गुप्तलेखन) संचार या भंडारण की सुरक्षा और शुद्धता का आश्वासन देती है और विरोधी प्रतिभागियों की प्रणाली (प्रेषक और अभिग्राही पर एक एवेसड्रापर) के बाहर होता है, इस मॉडल में क्रिप्टोग्राफी एक दूसरे से प्रतिभागियों की गोपनीयता की सुरक्षा करती है।
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 में, सुरक्षित-मल्टीपार्टी कंप्यूटेशन के साथ काम करने वाली कई कंपनियों ने बहु-पक्ष कम्प्यूटेशन Alliance की स्थापना की, जिसका लक्ष्य बहु-पक्ष कम्प्यूटेशन तकनीक की जागरूकता, स्वीकृति और अपनाने में तेजी लाना है।
परिभाषा और अवलोकन
एक बहु-पक्ष कम्प्यूटेशन में, प्रतिभागियों की दी गई संख्या, 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]और पहले उल्लिखित अन्य प्रारंभिक कार्य। इन प्रकाशनों के बावजूद, बहु-पक्ष कम्प्यूटेशन को उस समय अभ्यास में उपयोग करने के लिए पर्याप्त कुशल होने के लिए डिजाइन नहीं किया गया था। बिना शर्त या सूचना-सैद्धांतिक रूप से सुरक्षित बहु-पक्ष कम्प्यूटेशन निकटता से संबंधित है और गुप्त साझाकरण की समस्या का निर्माण करता है, और अधिक विशेष रूप से सत्यापन योग्य गुप्त साझाकरण (वीएसएस), जो कि कई सुरक्षित बहु-पक्ष कम्प्यूटेशन प्रोटोकॉल सक्रिय विरोधियों के खिलाफ उपयोग करते हैं।
एन्क्रिप्शन या हस्ताक्षर जैसे पारंपरिक क्रिप्टोग्राफ़िक अनुप्रयोगों के विपरीत, किसी को यह मान लेना चाहिए कि बहु-पक्ष कम्प्यूटेशन प्रोटोकॉल में विरोधी सिस्टम में लगे खिलाड़ियों में से एक है (या आंतरिक पक्षकारों को नियंत्रित करता है)। भ्रष्ट पक्ष या पार्टियां प्रोटोकॉल की सुरक्षा को भंग करने के लिए साठगांठ कर सकती हैं। होने देना प्रोटोकॉल में पक्षकारों की संख्या हो और पक्षकारों की संख्या जो प्रतिकूल हो सकती है। के मामले के लिए प्रोटोकॉल और समाधान (अर्थात, जब एक ईमानदार बहुमत मान लिया जाता है) उन लोगों से भिन्न होते हैं जहाँ ऐसी कोई धारणा नहीं बनाई जाती है। इस बाद वाले मामले में दो-पक्षीय कम्प्यूटेशन का महत्वपूर्ण मामला शामिल है जहां प्रतिभागियों में से एक भ्रष्ट हो सकता है, और सामान्य मामला जहां असीमित संख्या में प्रतिभागी भ्रष्ट हैं और ईमानदार प्रतिभागियों पर हमला करने के लिए साठगांठ करते हैं।
विभिन्न प्रोटोकॉल का सामना करने वाले विरोधियों को प्रोटोकॉल से विचलित होने के इच्छुक होने के अनुसार वर्गीकृत किया जा सकता है। अनिवार्य रूप से दो प्रकार के विरोधी हैं, प्रत्येक सुरक्षा के विभिन्न रूपों को जन्म देता है (और प्रत्येक अलग वास्तविक दुनिया के परिदृश्य में फिट बैठता है):
- अर्ध-ईमानदार (निष्क्रिय) सुरक्षा: इस मामले में, यह माना जाता है कि भ्रष्ट पक्ष केवल प्रोटोकॉल से जानकारी एकत्र करने में सहयोग करते हैं, लेकिन प्रोटोकॉल विनिर्देश से विचलित नहीं होते हैं। यह एक भोली विरोधी मॉडल है, जो वास्तविक परिस्थितियों में कमजोर सुरक्षा प्रदान करती है। हालांकि, सुरक्षा के इस स्तर को प्राप्त करने वाले प्रोटोकॉल पक्षकारों (अन्यथा सहयोग करने वाले) के बीच जानकारी के अनजाने रिसाव को रोकते हैं, और इस प्रकार उपयोगी होते हैं यदि यह एकमात्र चिंता है। इसके अलावा, अर्ध-ईमानदार मॉडल में प्रोटोकॉल काफी कुशल होते हैं, और अक्सर उच्च स्तर की सुरक्षा प्राप्त करने के लिए एक महत्वपूर्ण पहला कदम होता है।
- दुर्भावनापूर्ण (सक्रिय) सुरक्षा: इस मामले में, विरोधी धोखा देने के अपने प्रयास में मनमाने रूप से प्रोटोकॉल निष्पादन से विचलित हो सकता है। इस मॉडल में सुरक्षा प्राप्त करने वाले प्रोटोकॉल बहुत उच्च सुरक्षा गारंटी प्रदान करते हैं। दुर्व्यवहार करने वाली पक्षकारों के बहुमत के मामले में: केवल एक चीज जो एक विरोधी बेईमान बहुमत के मामले में कर सकता है वह है कि ईमानदार पक्षकारों को धोखाधड़ी का पता लगाने से रोक दिया जाए। यदि ईमानदार पक्ष आउटपुट प्राप्त करते हैं, तो उन्हें गारंटी दी जाती है कि यह सही है। उनकी निजता हमेशा कायम रहती है।
सक्रिय प्रतिद्वंद्वियों के खिलाफ सुरक्षा आमतौर पर दक्षता में कमी की ओर ले जाती है जो गुप्त सुरक्षा की ओर ले जाती है,[14] सक्रिय सुरक्षा का एक आरामदेह रूप। गुप्त सुरक्षा अधिक यथार्थवादी स्थितियों को पकड़ती है, जहां सक्रिय विरोधी धोखा देने को तैयार होते हैं, लेकिन तभी जब वे पकड़े नहीं जाते हैं। उदाहरण के लिए, अन्य ईमानदार पक्षकारों के साथ भविष्य के सहयोग को रोकते हुए, उनकी प्रतिष्ठा को नुकसान पहुँचाया जा सकता है। इस प्रकार, प्रोटोकॉल जो गुप्त रूप से सुरक्षित हैं, यह सुनिश्चित करने के लिए तंत्र प्रदान करते हैं कि यदि कुछ पक्ष निर्देशों का पालन नहीं करते हैं, तो यह उच्च संभावना के साथ देखा जाएगा, 75% या 90% कहते हैं। एक तरह से, गुप्त विरोधी सक्रिय होते हैं जो बाहरी गैर-क्रिप्टोग्राफ़िक (जैसे व्यवसाय) चिंताओं के कारण निष्क्रिय रूप से कार्य करने के लिए मजबूर होते हैं। यह तंत्र प्रोटोकॉल खोजने की उम्मीद में दोनों मॉडलों के बीच एक पुल स्थापित करता है जो व्यवहार में कुशल और सुरक्षित हैं।
कई क्रिप्टोग्राफ़िक प्रोटोकॉल की तरह, बहु-पक्ष कम्प्यूटेशन प्रोटोकॉल की सुरक्षा विभिन्न मान्यताओं पर भरोसा कर सकती है:
- यह कम्प्यूटेशनल हो सकता है (यानी कुछ गणितीय समस्या पर आधारित, जैसे फैक्टरिंग) या बिना शर्त, अर्थात् चैनलों पर संदेशों की भौतिक अनुपलब्धता पर निर्भर (आमतौर पर त्रुटि की कुछ संभावना के साथ जिसे मनमाने रूप से छोटा किया जा सकता है)।
- मॉडल यह मान सकता है कि प्रतिभागी एक तुल्यकालन नेटवर्क का उपयोग करते हैं, जहां एक टिक पर भेजा गया संदेश हमेशा अगले टिक पर आता है, या यह कि एक सुरक्षित और विश्वसनीय प्रसारण चैनल मौजूद है, या प्रतिभागियों की प्रत्येक जोड़ी के बीच एक सुरक्षित संचार चैनल मौजूद है जहां एक विरोधी चैनल आदि में संदेशों को पढ़, संशोधित या उत्पन्न नहीं कर सकता है।
ईमानदार पक्षकारों का समूह जो कम्प्यूटेशनल कार्य निष्पादित कर सकता है, एक्सेस संरचना की अवधारणा से संबंधित है। विरोधी संरचनाएं स्थिर हो सकती हैं, जहां विरोधी बहु-पक्षीय कम्प्यूटेशन की शुरुआत से पहले अपने पीड़ितों को चुनता है, या गतिशील, जहां वह बहु-पक्षीय कम्प्यूटेशन के निष्पादन के दौरान अपने पीड़ितों को चुनता है, जिससे बचाव कठिन हो जाता है। एक प्रतिकूल संरचना को दहलीज संरचना या अधिक जटिल संरचना के रूप में परिभाषित किया जा सकता है। थ्रेसहोल्ड संरचना में विरोधी कुछ थ्रेसहोल्ड तक कई प्रतिभागियों की स्मृति को दूषित या पढ़ सकता है। इस बीच, एक जटिल संरचना में यह प्रतिभागियों के कुछ पूर्वनिर्धारित सबसेट को प्रभावित कर सकता है, विभिन्न संभावित मिलीभगत को मॉडलिंग कर सकता है।
प्रोटोकॉल
दो पक्ष कम्प्यूटेशन (2PC) और बहु-पक्षीय कम्प्यूटेशन के लिए प्रस्तावित प्रोटोकॉल के बीच प्रमुख अंतर हैं। साथ ही, अक्सर विशेष प्रयोजन के महत्व के प्रोटोकॉल के लिए एक विशेष प्रोटोकॉल जो सामान्य से विचलित होता है, को डिज़ाइन किया जाना है (मतदान, नीलामी, भुगतान, आदि)।
द्विदलीय कम्प्यूटेशन
दो पक्ष संस्थापन विशेष रूप से दिलचस्प है, न केवल एक एप्लीकेशन परिप्रेक्ष्य से बल्कि इसलिए भी कि दो पक्ष संस्थापन में विशेष तकनीकें लागू की जा सकती हैं जो बहु-पक्ष मामले में लागू नहीं होती हैं। दरअसल, सुरक्षित बहु-पक्ष कम्प्यूटेशन (वास्तव में सुरक्षित फ़ंक्शन मूल्यांकन का प्रतिबंधित मामला, जहां केवल एक फ़ंक्शन का मूल्यांकन किया जाता है) को पहली बार दो-पक्ष संस्थापन में प्रस्तुत किया गया था। मूल कार्य को अक्सर याओ के दो पत्रों में से एक के रूप में उद्धृत किया जाता है;[15] हालांकि कागजात में वास्तव में वह नहीं होता है जिसे अब गारबल्ड सर्किट के रूप में जाना जाता है। याओ का गारबल्ड सर्किट प्रोटोकॉल।
याओ का बुनियादी प्रोटोकॉल अर्ध-ईमानदार प्रतिद्वंद्वियों के खिलाफ सुरक्षित है और राउंड की संख्या के मामले में अत्यंत कुशल है, जो कि स्थिर है, और मूल्यांकन किए जा रहे लक्ष्य फ़ंक्शन से स्वतंत्र है। निश्चित लंबाई के बाइनरी में इनपुट के साथ फ़ंक्शन को बूलियन सर्किट के रूप में देखा जाता है। एक बूलियन सर्किट तीन अलग-अलग प्रकार के तारों से जुड़े फाटकों का एक संग्रह है: सर्किट-इनपुट तार, सर्किट-आउटपुट तार और मध्यवर्ती तार। प्रत्येक गेट को दो इनपुट तार प्राप्त होते हैं और इसमें एक एकल आउटपुट तार होता है जो फैन-आउट हो सकता है (अर्थात अगले स्तर पर कई गेटों को पास किया जा सकता है)। प्रत्येक गेट का बारी-बारी से मूल्यांकन करके सर्किट का सादा मूल्यांकन किया जाता है; यह मानते हुए कि फाटकों को स्थैतिक रूप से आदेशित किया गया है। गेट को एक ट्रूथ टेबल के रूप में दर्शाया जाता है जैसे कि बिट्स की प्रत्येक संभावित जोड़ी (इनपुट तारों के गेट से आने वाले) के लिए टेबल एक अद्वितीय आउटपुट बिट प्रदान करती है; जो गेट के आउटपुट वायर का मान है। मूल्यांकन के परिणाम सर्किट-आउटपुट तारों में प्राप्त बिट्स हैं।
याओ ने समझाया कि कैसे एक सर्किट (इसकी संरचना को छिपाना) को गार्बल करना है ताकि दो पक्ष, प्रेषक और अभिग्राही, सर्किट के आउटपुट को सीख सकें और कुछ नहीं। एक उच्च स्तर पर, प्रेषक विकृत सर्किट तैयार करता है और इसे अभिग्राही को भेजता है, जो अनजाने में सर्किट का मूल्यांकन करता है, अपने और प्रेषक दोनों के आउटपुट के अनुरूप एन्कोडिंग सीखता है। फिर वह केवल प्रेषक के एनकोडिंग को वापस भेजता है, जिससे प्रेषक को आउटपुट के अपने हिस्से की गणना करने की अनुमति मिलती है। प्रेषक अभिग्राही आउटपुट एन्कोडिंग से अभिग्राही को बिट्स में मैपिंग भेजता है, जिससे अभिग्राही को अपना आउटपुट प्राप्त करने की अनुमति मिलती है।
अधिक विस्तार से, गारबल्ड सर्किट की गणना निम्नानुसार की जाती है। मुख्य घटक एक डबल-कुंजी वाली सममित एन्क्रिप्शन योजना है। सर्किट के एक गेट को देखते हुए, इसके इनपुट तारों (या तो 0 या 1) के प्रत्येक संभावित मान को एक यादृच्छिक संख्या (लेबल) के साथ एन्कोड किया गया है। इनपुट बिट्स की चार संभावित जोड़ी में से प्रत्येक पर गेट के मूल्यांकन से उत्पन्न मूल्यों को भी यादृच्छिक लेबल के साथ बदल दिया जाता है। गेट की विकृत सत्य तालिका में कुंजी के रूप में इसके इनपुट लेबल का उपयोग करके प्रत्येक आउटपुट लेबल के एन्क्रिप्शन होते हैं। ट्रूथ टेबल में इन चार एनक्रिप्शन की स्थिति यादृच्छिक होती है, इसलिए गेट पर कोई जानकारी लीक नहीं होती है।
प्रत्येक गारबल्ड गेट का सही मूल्यांकन करने के लिए एन्क्रिप्शन स्कीम में निम्नलिखित दो गुण होते हैं। सबसे पहले, किसी भी दो अलग-अलग कुंजियों के तहत एन्क्रिप्शन फ़ंक्शन की श्रेणियां अलग होती हैं (अत्यधिक संभावना के साथ)। दूसरी संपत्ति का कहना है कि यह कुशलतापूर्वक जांच की जा सकती है कि किसी दिए गए कुंजी के तहत दिए गए सिफरटेक्स्ट को एन्क्रिप्ट किया गया है या नहीं। इन दो गुणों के साथ अभिग्राही, सभी सर्किट-इनपुट तारों के लिए लेबल प्राप्त करने के बाद, पहले यह पता लगाकर प्रत्येक गेट का मूल्यांकन कर सकता है कि उसकी लेबल कुंजियों के साथ चार सिफरटेक्स्ट में से कौन सा एन्क्रिप्ट किया गया है, और फिर आउटपुट वायर के लेबल को प्राप्त करने के लिए डिक्रिप्ट किया गया है। . यह अनजाने में किया जाता है क्योंकि मूल्यांकन के दौरान सभी अभिग्राही सीखते हैं कि बिट्स के एन्कोडिंग हैं।
प्रेषक (यानी सर्किट निर्माता) इनपुट बिट्स को मूल्यांकनकर्ता को एन्कोडिंग के रूप में भेजा जा सकता है; जबकि अभिग्राही के (यानी सर्किट मूल्यांकनकर्ता) उसके इनपुट बिट्स के अनुरूप एनकोडिंग 1-आउट-ऑफ-2 ओब्लिवियस स्थानांतरण (ओटी) प्रोटोकॉल के माध्यम से प्राप्त किए जाते हैं। 1-आउट-ऑफ-2 ओटी प्रोटोकॉल, प्रेषक को दो मूल्यों C1 और C2 के कब्जे में सक्षम बनाता है, अभिग्राही द्वारा अनुरोधित एक को भेजने के लिए (बी {1,2} में एक मूल्य) इस तरह से कि प्रेषक करता है पता नहीं क्या मूल्य स्थानांतरित किया गया है, और अभिग्राही केवल पूछे गए मूल्य को सीखता है।
यदि कोई दुर्भावनापूर्ण विरोधियों पर विचार कर रहा है, तो दोनों पक्षों के सही व्यवहार को सुनिश्चित करने के लिए और तंत्र प्रदान करने की आवश्यकता है। निर्माण के द्वारा प्रेषक के लिए सुरक्षा दिखाना आसान है यदि OT प्रोटोकॉल पहले से ही दुर्भावनापूर्ण विरोधी के खिलाफ सुरक्षित है, जैसा कि सभी अभिग्राही कर सकते हैं एक विकृत सर्किट का मूल्यांकन करना है जो विफल हो जाएगायदि वह निर्देशों से विचलित हो जाता है तो प्रत्येक सर्किट-आउटपुट तार। प्रेषक के पक्ष में स्थिति बहुत भिन्न है। उदाहरण के लिए, वह एक गलत विकृत सर्किट भेज सकता है जो अभिग्राही के इनपुट को प्रकट करने वाले फ़ंक्शन की गणना करता है। इसका मतलब यह होगा कि गोपनीयता अब नहीं रह गई है, लेकिन चूंकि सर्किट विकृत है, अभिग्राही इसका पता लगाने में सक्षम नहीं होगा। हालांकि, इस प्रोटोकॉल को अर्ध-ईमानदार प्रोटोकॉल की तुलना में एक छोटे ओवरहेड के साथ दुर्भावनापूर्ण विरोधियों के खिलाफ सुरक्षित बनाने के लिए जीरो-नॉलेज प्रूफ को कुशलता से लागू करना संभव है।[16]
बहु-पक्ष प्रोटोकॉल
अधिकांश बहु-पक्ष कम्प्यूटेशन प्रोटोकॉल, 2PC प्रोटोकॉल के विपरीत और विशेष रूप से निजी चैनलों की बिना शर्त संस्थापन के तहत, गुप्त साझाकरण का उपयोग करते हैं। गुप्त साझाकरण आधारित विधियों में, पार्टियां विशेष भूमिका नहीं निभाती हैं (जैसा कि याओ में, निर्माता और मूल्यांकनकर्ता की)। इसके बजाय, प्रत्येक तार से जुड़े डेटा को पक्षकारों के बीच साझा किया जाता है, और फिर प्रत्येक गेट का मूल्यांकन करने के लिए एक प्रोटोकॉल का उपयोग किया जाता है। फ़ंक्शन को अब परिमित क्षेत्र पर एक सर्किट के रूप में परिभाषित किया गया है, जैसा कि याओ के लिए उपयोग किए जाने वाले बाइनरी सर्किट के विपरीत है। इस तरह के एक सर्किट को साहित्य में एक अंकगणितीय सर्किट कहा जाता है, और इसमें जोड़ और गुणन द्वार होते हैं, जहां परिचालित मूल्यों को परिमित क्षेत्र में परिभाषित किया जाता है।
गुप्त साझाकरण प्रत्येक पक्ष को शेयर वितरित करके कई पक्षकारों के बीच एक रहस्य वितरित करने की अनुमति देता है। आमतौर पर दो प्रकार की गुप्त साझाकरण योजनाओं का उपयोग किया जाता है; शमीर की सीक्रेट शेयरिंग और एडिटिव सीक्रेट शेयरिंग। दोनों ही मामलों में शेयर एक परिमित क्षेत्र के यादृच्छिक तत्व हैं जो क्षेत्र में रहस्य को जोड़ते हैं; सहजता से, सुरक्षा हासिल की जाती है क्योंकि शेयरों का कोई भी गैर-योग्यता समूह बेतरतीब रूप से वितरित दिखता है।
गुप्त साझाकरण योजनाएँ कुल पक्षकारों में से टी पक्षकारों को नियंत्रित करने वाले एक विरोधी को सहन कर सकती हैं, जहाँ टी योजना के आधार पर भिन्न होता है, विरोधी निष्क्रिय या सक्रिय हो सकता है, और विरोधी की शक्ति पर विभिन्न धारणाएँ बनाई जाती हैं। शमीर गुप्त साझाकरण योजना एक निष्क्रिय विरोधी के खिलाफ सुरक्षित है जब और एक सक्रिय विरोधी जब सूचना-सैद्धांतिक सुरक्षा प्राप्त करते समय, जिसका अर्थ है कि भले ही विरोधी के पास असीम कम्प्यूटेशनल शक्ति हो, वे किसी शेयर के अंतर्निहित रहस्य के बारे में कोई जानकारी नहीं सीख सकते। बीजीडब्ल्यू प्रोटोकॉल,[17] जो गुप्त शेयरों पर जोड़ और गुणा की गणना करने के तरीके को परिभाषित करता है, अक्सर शमीर गुप्त शेयरों के साथ कार्यों की गणना करने के लिए उपयोग किया जाता है। एडिटिव सीक्रेट शेयरिंग स्कीम्स एक पक्ष को छोड़कर सभी को नियंत्रित करने वाले विरोधी को सहन कर सकती हैं, अर्थात असीमित कम्प्यूटेशनल शक्ति के साथ एक निष्क्रिय और सक्रिय विरोधी के खिलाफ सुरक्षा बनाए रखते हुए। कुछ प्रोटोकॉल के लिए एक सेटअप चरण की आवश्यकता होती है, जो केवल कम्प्यूटेशनल रूप से बंधे हुए विरोधी के खिलाफ सुरक्षित हो सकता है।
कई प्रणालियों ने गुप्त साझाकरण योजनाओं के साथ बहु-पक्ष कम्प्यूटेशन के विभिन्न रूपों को लागू किया है। सबसे लोकप्रिय एसपीडीजेड है,[18] जो एडिटिव सीक्रेट शेयरों के साथ बहु-पक्ष कम्प्यूटेशन को लागू करता है और सक्रिय विरोधियों के खिलाफ सुरक्षित है।
अन्य प्रोटोकॉल
2014 में सुरक्षित कम्प्यूटेशन में निष्पक्षता का एक मॉडल जिसमें एक विरोधी पक्ष जो आउटपुट प्राप्त करने पर रोक लगाती है, को Bitcoin नेटवर्क या निष्पक्ष लॉटरी के लिए पारस्परिक रूप से पूर्वनिर्धारित मौद्रिक दंड का भुगतान करने के लिए मजबूर किया गया है।[19]
प्रैक्टिकल बहु-पक्ष कम्प्यूटेशन सिस्टम
हाल के वर्षों में 2PC और बहु-पक्ष कम्प्यूटेशन सिस्टम में बहुत प्रगति हुई है।
याओ आधारित प्रोटोकॉल
याओ-आधारित प्रोटोकॉल के साथ काम करते समय मुख्य मुद्दों में से एक यह है कि सुरक्षित रूप से मूल्यांकन किए जाने वाले फ़ंक्शन (जो एक मनमाना प्रोग्राम हो सकता है) को एक सर्किट के रूप में दर्शाया जाना चाहिए, जिसमें आमतौर पर 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]
सुरक्षित बहु-पक्ष कम्प्यूटेशन डेटा विश्लेषण का कार्यान्वयन
सुरक्षित बहु-पक्ष कम्प्यूटेशन के प्राथमिक अनुप्रयोगों में से एक डेटा के विश्लेषण की अनुमति देता है जो कई पक्षकारों द्वारा आयोजित किया जाता है, या डेटा संरक्षक को डेटा विश्लेषण के प्रकार को समझने की अनुमति के बिना तीसरे पक्ष द्वारा डेटा का अंधा विश्लेषण किया जाता है।
प्रदर्शन और उत्पादन प्रणाली
विश्लेषण | डेटा संरक्षक | तकनीकी प्रदाता | वर्ष प्रस्तुत किया | टिप्पणी | अभी भी
उपयोग में है?? |
---|---|---|---|---|---|
बोस्टन महिला परिवर्तनशील परिषद की रिपोर्ट[28] | बोस्टन-क्षेत्र के नियोक्ता | बोस्टन विश्वविद्यालय | 2016 | ||
एलेघेनी काउंटी डेटासेट[29][30][31][32] | विभिन्न काउंटी कार्यालयों
से एकाधिक डेटासेट |
गैलोज़ और द्विदलीय नीति केंद्र | 2018 |
सॉफ्टवेयर लाइब्रेरी
नाम | विकासक | वर्ष प्रस्तुत किया | टिप्पणी | अभी भी बनाए रखा? |
---|---|---|---|---|
एसईपीआईए - निजी जानकारी एकत्रीकरण के माध्यम से सुरक्षा | ||||
एससीएपीआई - सुरक्षित कंप्यूटेशन एपीआई[33] | ||||
पलिसडे - होमोमोर्फिक एन्क्रिप्शन लाइब्रेरी[34] | ||||
एमपी-एसपीडीजेड - बहु-पक्षीय कंप्यूटेशन के लिए एक वर्सटाइल रूपरेखा [35] | सीएसआईआरओ
का डेटा61 |
2018 | 40 प्रोटोकॉल संस्करण, मशीन सीखने की कार्यक्षमता पर ध्यान केंद्रित करते हैं | 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 बहु-पक्ष कम्प्यूटेशन primitives as well as protocols with semi-honest security and malicious security.
- JavascriptMPC — JavascriptMPC A golang बहु-पक्ष कम्प्यूटेशन 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 बहु-पक्ष कम्प्यूटेशन 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 बहु-पक्ष कम्प्यूटेशन: Secure Computation Algorithms from LEuven — Framework for various बहु-पक्ष कम्प्यूटेशन 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 बहु-पक्ष कम्प्यूटेशन protocols in virtual networks.
- Virtual Parties in SMC A protocol for Virtual Parties in SMC (Secure Multi Party computation)
- बहु-पक्ष कम्प्यूटेशन Java-based implementation A Java-based implementation of the बहु-पक्ष कम्प्यूटेशन 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