गारबल्ड परिपथ: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Cryptographic protocol for two-party computation}} {{technical|date=January 2017}} गारबल्ड सर्किट एक क्रिप्ट...")
 
No edit summary
Line 1: Line 1:
{{Short description|Cryptographic protocol for two-party computation}}
{{Short description|Cryptographic protocol for two-party computation}}'''गारबल्ड (विकृत) परिपथ''' एक क्रिप्टोग्राफ़िक प्रोटोकॉल है जो दो-पक्षीय सुरक्षित संगणना को सक्षम करता है जिसमें दो अविश्वास करने वाले पक्ष एक विश्वसनीय तृतीय पक्ष की उपस्थिति के बिना अपने निजी इनपुट पर संयुक्त रूप से एक फ़ंक्शन का मूल्यांकन कर सकते हैं। गारबल्ड परिपथ प्रोटोकॉल में, फ़ंक्शन को बूलियन परिपथ के रूप में वर्णित किया जाना चाहिए।
{{technical|date=January 2017}}


गारबल्ड सर्किट एक [[क्रिप्टोग्राफिक प्रोटोकॉल]] है जो दो-पक्ष सुरक्षित बहु-पक्षीय संगणना को सक्षम करता है जिसमें दो अविश्वास करने वाले पक्ष एक विश्वसनीय तृतीय पक्ष की उपस्थिति के बिना अपने निजी इनपुट पर संयुक्त रूप से एक फ़ंक्शन (गणित) का मूल्यांकन कर सकते हैं। विकृत सर्किट प्रोटोकॉल में, फ़ंक्शन को [[बूलियन सर्किट]] के रूप में वर्णित किया जाना चाहिए।
गारबल्ड परिपथ (सर्किट) का इतिहास जटिल है। गारबल्ड परिपथ के आविष्कार का श्रेय [[एंड्रयू याओ]] को दिया गया, क्योंकि याओ ने कंप्यूटर विज्ञान की नींव'86 में एक पत्र<ref name=yao>{{cite book
 
गारबल्ड सर्किट का इतिहास जटिल है। गारबल्ड सर्किट के आविष्कार का श्रेय [[एंड्रयू याओ]] को दिया गया, क्योंकि याओ ने एक पेपर की मौखिक प्रस्तुति में विचार पेश किया<ref name=yao>{{cite book
| last      = Yao
| last      = Yao
| first      = Andrew Chi-Chih
| first      = Andrew Chi-Chih
Line 14: Line 11:
| doi      = 10.1109/SFCS.1986.25
| doi      = 10.1109/SFCS.1986.25
| isbn      = 978-0-8186-0740-0
| isbn      = 978-0-8186-0740-0
}}</ref> कंप्यूटर साइंस'86 की नींव पर संगोष्ठी में। यह 2003 में [[ओडेड गोल्ड्रेइच]] द्वारा प्रलेखित किया गया था।<ref name=cryptoprotocol>{{cite journal
}}</ref> की मौखिक प्रस्तुति में इस विचार को प्रस्तुत किया था। यह 2003 में [[ओडेड गोल्ड्रेइच]] द्वारा प्रलेखित किया गया था।<ref name=cryptoprotocol>{{cite journal
| last      = Goldreich
| last      = Goldreich
| first      = Oded
| first      = Oded
Line 27: Line 24:
| citeseerx      = 10.1.1.117.3618
| citeseerx      = 10.1.1.117.3618
| s2cid = 9966766
| s2cid = 9966766
}}</ref> इस तकनीक के बारे में पहला लिखित दस्तावेज़ गोल्ड्रेइच, [[सिल्वियो मिकाली]] और द्वारा किया गया था
}}</ref> इस तकनीक के बारे में पहला लिखित दस्तावेज़ कम्प्यूटिंग के सिद्धांत पर परिचर्चा'87 में गोल्ड्रेइच, मिकाली और [[एवी विगडरसन]] द्वारा दिया गया था।<ref name=mentalgame>{{cite book
[[कम्प्यूटिंग के सिद्धांत पर संगोष्ठी]] में [[एवी विगडरसन]]'87।<ref name=mentalgame>{{cite book
| last1      = Goldreich
| last1      = Goldreich
| first1      = Oded
| first1      = Oded
Line 42: Line 38:
| isbn      = 978-0897912211
| isbn      = 978-0897912211
| s2cid = 6669082
| s2cid = 6669082
}}</ref> गारबल्ड सर्किट शब्द का पहली बार उपयोग STOC'90 में बीवर, मिकाली और [[फिलिप रोगवे]] द्वारा किया गया था।<ref name=roundcomplexity>{{cite book
}}</ref> गारबल्ड परिपथ शब्द का पहली बार उपयोग कम्प्यूटिंग के सिद्धांत पर परिचर्चा'90 में बीवर, मिकाली और [[फिलिप रोगवे]] द्वारा किया गया था।<ref name=roundcomplexity>{{cite book
| last1      = Beaver
| last1      = Beaver
| first1      = Donald
| first1      = Donald
Line 57: Line 53:
| citeseerx      = 10.1.1.697.1624
| citeseerx      = 10.1.1.697.1624
| s2cid = 1578121
| s2cid = 1578121
}}</ref> याओ के करोड़पतियों की समस्या को हल करने वाला याओ का प्रोटोकॉल सुरक्षित संगणना का शुरुआती उदाहरण था, फिर भी यह विकृत सर्किट से सीधे संबंधित नहीं है।
}}</ref> याओ के मिलियनैर की समस्या को हल करने वाला याओ का प्रोटोकॉल सुरक्षित संगणना का प्रारम्भिक उदाहरण था, फिर भी यह गारबल्ड परिपथ से सीधे संबंधित नहीं है।


== पृष्ठभूमि ==
== पृष्ठभूमि ==


=== अनजान स्थानांतरण ===
=== ओब्लिवियस स्थानांतरण ===
गारबल्ड सर्किट प्रोटोकॉल में, हम बेखबर ट्रांसफर का उपयोग करते हैं। बेखबर हस्तांतरण में, एक [[स्ट्रिंग (कंप्यूटर विज्ञान)]] एक प्रेषक और एक रिसीवर के बीच निम्नलिखित तरीके से स्थानांतरित किया जाता है: एक प्रेषक के दो तार होते हैं <math>S_0</math> और <math>S_1</math>. रिसीवर चुनता है <math>b\in\{0,1\} </math> और प्रेषक भेजता है <math>S_b</math> बेखबर ट्रांसफर प्रोटोकॉल के साथ
गारबल्ड परिपथ प्रोटोकॉल में, हम ओब्लिवियस स्थानांतरण का उपयोग करते हैं। ओब्लिवियस स्थानांतरण में, एक [[स्ट्रिंग (कंप्यूटर विज्ञान)]] एक प्रेषक और एक अभिग्राही के बीच निम्नलिखित तरीके से स्थानांतरित किया जाता है: एक प्रेषक के दो स्ट्रिंग <math>S_0</math> और <math>S_1</math> होते हैं अभिग्राही <math>b\in\{0,1\} </math> चयन करता है और प्रेषक <math>S_b</math> को ओब्लिवियस स्थानांतरण प्रोटोकॉल के साथ प्रेषित करता है जैसे कि
# रिसीवर को असंतुलित स्ट्रिंग के बारे में कोई जानकारी नहीं मिलती है <math>S_{(1-b)}</math>,
# अभिग्राही को असंतुलित स्ट्रिंग <math>S_{(1-b)}</math> के बारे में कोई जानकारी नहीं मिलती है,
# का मान है <math>b</math> प्रेषक के संपर्क में नहीं है।
# <math>b</math> का मान प्रेषक के सामने नहीं आता है।


ध्यान दें कि जबकि रिसीवर को पता नहीं है <math>S_{0}, S_{1}</math> मूल्य, व्यवहार में रिसीवर क्या के बारे में कुछ जानकारी जानता है <math>S_{b}</math> एनकोड करता है ताकि रिसीवर आँख बंद करके चयन न करे <math>b</math>. यानी अगर <math>S_{0}</math> एक झूठे मूल्य को एनकोड करता है, <math>S_{1}</math> एक सही मान को एनकोड करता है और रिसीवर एन्कोडेड सही मान प्राप्त करना चाहता है, रिसीवर चुनता है <math>b=1</math>.
ध्यान दें कि जबकि अभिग्राही <math>S_{0}, S_{1}</math> मानों को नहीं जानता है, व्यवहार में अभिग्राही कुछ जानकारी जानता है कि <math>S_{b}</math> क्या एन्कोड करता है ताकि अभिग्राही बिना विचार किए <math>b</math> चयन करता है। अर्थात यदि <math>S_{0}</math> गलत मान को एनकोड करता है, तो <math>S_{1}</math> सही मान को एनकोड करता है और अभिग्राही एन्कोडेड सही मान प्राप्त करना चाहता है, तब अभिग्राही <math>b=1</math> चयन करता है।


[[आरएसए (क्रिप्टोसिस्टम)]] जैसी [[असममित क्रिप्टोग्राफी]] का उपयोग करके अनजान हस्तांतरण का निर्माण किया जा सकता है।
आरएसए गुप्‍त संदेश पद्धति की तरह असममित क्रिप्टोग्राफी का उपयोग करके विस्मृत हस्तांतरण का निर्माण किया जा सकता है।


=== परिभाषाएं और नोटेशन ===
=== परिभाषाएं और नोटेशन ===
ऑपरेटर <math>\parallel</math> स्ट्रिंग संयोजन है। ऑपरेटर <math>\oplus</math> बिट-वार [[XOR]] है। k एक [[सुरक्षा पैरामीटर]] और चाबियों की लंबाई है। यह 80 से अधिक होना चाहिए और आमतौर पर 128 पर सेट होता है।
ऑपरेटर <math>\parallel</math> स्ट्रिंग संयोजन है। ऑपरेटर <math>\oplus</math> बिट-वार [[XOR|एक्सओआर]] है। k एक सुरक्षा पैरामीटर और कुंजियों की लंबाई है। यह 80 से अधिक होना चाहिए और सामान्य रूप से 128 पर स्थापित होता है।


== गारबल्ड सर्किट प्रोटोकॉल ==
== गारबल्ड परिपथ प्रोटोकॉल ==
प्रोटोकॉल में निम्नानुसार 6 चरण होते हैं:
प्रोटोकॉल में निम्नानुसार 6 चरण होते हैं:
# अंतर्निहित कार्य (उदाहरण के लिए, करोड़पतियों की समस्या में, तुलना समारोह) को 2-इनपुट गेट्स के साथ बूलियन सर्किट के रूप में वर्णित किया गया है। सर्किट दोनों पक्षों के लिए जाना जाता है। यह कदम किसी तीसरे पक्ष द्वारा पहले ही किया जा सकता है।
# अंतर्निहित फ़ंक्शन (उदाहरण के लिए, मिलियनैर की समस्या में, समतुल्यता फ़ंक्शन) को 2-इनपुट गेट्स के साथ बूलियन परिपथ के रूप में वर्णित किया गया है। परिपथ दोनों पक्षों के लिए जाना जाता है। यह चरण किसी तीसरे पक्ष द्वारा पहले ही किया जा सकता है।
# ऐलिस सर्किट को गारबल्स (एन्क्रिप्ट) करता है। हम ऐलिस द गारब्लर कहते हैं।
# ऐलिस परिपथ को गारबल्स (एन्क्रिप्ट) करता है। हम ऐलिस द गारब्लर कहते हैं।
# ऐलिस अपने एन्क्रिप्टेड इनपुट के साथ बॉब को विकृत सर्किट भेजती है।
# ऐलिस अपने एन्क्रिप्टेड इनपुट के साथ बॉब को गारबल्ड परिपथ भेजती है।
# सर्किट की गणना करने के लिए, बॉब को अपने स्वयं के इनपुट को भी गारबल करने की आवश्यकता है। यह अंत करने के लिए, उसे ऐलिस की मदद की जरूरत है, क्योंकि केवल गार्बलर ही एन्क्रिप्ट करना जानता है। अंत में, बॉब बेखबर ट्रांसफर के जरिए अपने इनपुट को एन्क्रिप्ट कर सकता है। ऊपर से परिभाषा के संदर्भ में, बॉब रिसीवर है और ऐलिस इस बेखबर हस्तांतरण पर प्रेषक है।
# परिपथ की गणना करने के लिए, बॉब को अपने स्वयं के इनपुट को भी गारबल करने की आवश्यकता है। यह अंत करने के लिए, उसे ऐलिस की सहायता की आवश्यकता है, क्योंकि केवल गार्बलर ही एन्क्रिप्ट करना जानता है। अंत में, बॉब ओब्लिवियस स्थानांतरण के जरिए अपने इनपुट को एन्क्रिप्ट कर सकता है। ऊपर से परिभाषा के संदर्भ में, बॉब अभिग्राही है और ऐलिस इस ओब्लिवियस स्थानांतरण पर प्रेषक है।
# बॉब सर्किट का मूल्यांकन (डिक्रिप्ट) करता है और एन्क्रिप्टेड आउटपुट प्राप्त करता है। हम बॉब को मूल्यांकनकर्ता कहते हैं।
# बॉब परिपथ का मूल्यांकन (डिक्रिप्ट) करता है और एन्क्रिप्टेड आउटपुट प्राप्त करता है। हम बॉब को मूल्यांकनकर्ता कहते हैं।
# ऐलिस और बॉब आउटपुट सीखने के लिए संवाद करते हैं।
# एलिस और बॉब आउटपुट जानने के लिए संवाद करते हैं


=== सर्किट जनरेशन ===
=== परिपथ उत्पादन ===
छोटे कार्यों के लिए बूलियन सर्किट को हाथ से उत्पन्न किया जा सकता है। सर्किट को 2-इनपुट XOR और AND गेट [[ तर्क द्वार ]] से बनाना पारंपरिक है। यह महत्वपूर्ण है कि उत्पन्न सर्किट में AND गेट्स की न्यूनतम संख्या हो (#Free XOR देखें)। ऐसी विधियाँ हैं जो [[तर्क संश्लेषण]] तकनीक का उपयोग करके AND गेट्स की संख्या के अनुसार अनुकूलित सर्किट उत्पन्न करती हैं।<ref>{{cite book
छोटे फंक्शनों के लिए बूलियन परिपथ को हाथ से उत्पन्न किया जा सकता है। परिपथ को 2-इनपुट एक्सओआर और एएनडी गेट से बनाना पारंपरिक है। यह महत्वपूर्ण है कि उत्पन्न सर्किट में एएनडी गेट्स की न्यूनतम संख्या हो (मुक्त एक्सओआर अनुकूलन देखें)। ऐसी विधियाँ हैं जो तर्क संश्लेषण तकनीक का उपयोग करके एएनडी गेट्स की संख्या के संदर्भ में अनुकूलित परिपथ उत्पन्न करती हैं।<ref>{{cite book
| last1      = Songhori
| last1      = Songhori
| first1      = Ebrahim M
| first1      = Ebrahim M
Line 102: Line 98:
| s2cid = 5346323
| s2cid = 5346323
| url = http://tubiblio.ulb.tu-darmstadt.de/101746/
| url = http://tubiblio.ulb.tu-darmstadt.de/101746/
}}</ref> मिलियनेयर्स प्रॉब्लम के लिए सर्किट एक [[डिजिटल तुलनित्र]] सर्किट है (जो एडर-सबट्रैक्टर के रूप में काम करने वाले और [[ झंडा ले जाना ]] को आउटपुट करने वाले [[पूर्ण योजक]]ों की एक श्रृंखला है)। एक पूर्ण योजक सर्किट केवल एक AND गेट गेट और कुछ XOR गेट्स का उपयोग करके कार्यान्वित किया जा सकता है। इसका मतलब है कि करोड़पतियों की समस्या के सर्किट के लिए AND गेट्स की कुल संख्या इनपुट की बिट-चौड़ाई के बराबर है।
}}</ref> मिलियनेयर्स समस्या के लिए परिपथ एक [[डिजिटल तुलनित्र]] परिपथ है जो पूर्ण योजकों की एक श्रृंखला है जो एक सबट्रैक्टर (व्यवकलक) के रूप में काम करता है और स्वीकृत फ़्लैग को आउटपुट करता है। एक पूर्ण योजक परिपथ केवल एक एएनडी गेट और कुछ एक्सओआर गेट्स का उपयोग करके कार्यान्वित किया जा सकता है। इसका तात्पर्य है कि मिलियनैर की समस्या के परिपथ के लिए एएनडी गेट्स की कुल संख्या इनपुट की बिट-चौड़ाई के बराबर है।


=== गारबिंग ===
=== गारबिंग ===
[[File:Garbled circuit AND gate illustration.svg|thumb|AND गेट पर तार और उनके लेबल]]
[[File:Garbled circuit AND gate illustration.svg|thumb|एएनडी गेट पर स्ट्रिंग और उनके लेबल]]
[[File:Garbled circuit AND gate truth table illustration.svg|thumb|AND गेट की सत्यता सारणी का निर्माण]]ऐलिस (गार्बलर) इस चरण में बूलियन सर्किट को गारबल्ड सर्किट प्राप्त करने के लिए एन्क्रिप्ट करता है। ऐलिस सर्किट में प्रत्येक तार के लिए दो यादृच्छिक रूप से उत्पन्न स्ट्रिंग्स को लेबल करता है: एक [[बूलियन डेटा प्रकार]] सिमेंटिक 0 के लिए और एक 1 के लिए। (लेबल k-बिट लंबा है जहां k सुरक्षा पैरामीटर है और आमतौर पर 128 पर सेट होता है।) अगला, वह सर्किट के सभी गेटों पर जाती है और 0 और 1 को संबंधित लेबल के साथ सत्य तालिका में बदल देती है। नीचे दी गई तालिका दो इनपुट वाले AND गेट के लिए सत्य तालिका दिखाती है <math>w^a, w^b</math> और आउटपुट <math>w^c</math>:
[[File:Garbled circuit AND gate truth table illustration.svg|thumb|एएनडी गेट की सत्यता सारणी का निर्माण]]ऐलिस (गार्बलर) इस चरण में बूलियन परिपथ को गारबल्ड परिपथ प्राप्त करने के लिए एन्क्रिप्ट करता है। ऐलिस परिपथ में प्रत्येक स्ट्रिंग के लिए दो यादृच्छिक रूप से उत्पन्न स्ट्रिंग्स को लेबल करता है: एक [[बूलियन डेटा प्रकार]] सिमेंटिक 0 के लिए और एक 1 के लिए लेबल k-बिट लंबा है जहां k सुरक्षा पैरामीटर है और सामान्य रूप से 128 पर निर्धारित होता है। अगला, वह परिपथ के सभी गेटों पर जाती है और 0 और 1 को संबंधित लेबल के साथ सत्य सारणी में बदल देती है। नीचे दी गई सारणी दो इनपुट <math>w^a, w^b</math> और आउटपुट <math>w^c</math> के साथ एएनडी गेट के लिए सत्य सारणी दिखाती है:
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 132: Line 128:
| <math>X_1^a</math> || <math>X_1^b</math> || style="background:papayawhip" | <math>X_1^c</math>
| <math>X_1^a</math> || <math>X_1^b</math> || style="background:papayawhip" | <math>X_1^c</math>
|}
|}
वह फिर सत्य तालिका के आउटपुट प्रविष्टि को संबंधित दो इनपुट लेबल के साथ एन्क्रिप्ट करती है। एन्क्रिप्टेड टेबल को गारबल्ड टेबल कहा जाता है। यह इस तरह से किया जाता है कि कोई गारबल्ड टेबल को केवल तभी डिक्रिप्ट कर सकता है जब उसके पास सही दो इनपुट लेबल हों। नीचे दी गई तालिका में, <math>Enc_k(X)</math> एक डबल-कुंजी [[सममित एन्क्रिप्शन]] है जिसमें k गुप्त कुंजी है और X एन्क्रिप्ट किया जाने वाला मान है (#Fixed-key Blockcipher|Fixed-Key Blockcipher देखें)।
वह फिर सत्य सारणी के आउटपुट प्रविष्टि को संबंधित दो इनपुट लेबल के साथ एन्क्रिप्ट करती है। एन्क्रिप्टेड सारणी को गारबल्ड सारणी कहा जाता है। यह इस तरह से किया जाता है कि कोई गारबल्ड सारणी को केवल तभी डिक्रिप्ट कर सकता है जब उसके पास सही दो इनपुट लेबल हों। नीचे दी गई सारणी में, <math>Enc_k(X)</math> एक डबल-कुंजी [[सममित एन्क्रिप्शन]] है जिसमें k गुप्त कुंजी है और X एन्क्रिप्ट (निश्चित-कुंजी ब्लॉकसीफर देखें) किया जाने वाला मान है।
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 145: Line 141:
| style="background:papayawhip" |<math>Enc_{X_1^a, X_1^b}(X_1^c)</math>
| style="background:papayawhip" |<math>Enc_{X_1^a, X_1^b}(X_1^c)</math>
|}
|}
इसके बाद, ऐलिस बेतरतीब ढंग से तालिका को इस तरह से बदल देता है कि आउटपुट मान को पंक्ति से निर्धारित नहीं किया जा सकता है। प्रोटोकॉल का नाम, विकृत, इस यादृच्छिक क्रमचय से लिया गया है।
इसके बाद, ऐलिस सही तरीके से सारणी को इस तरह से बदल देता है कि आउटपुट मान को पंक्ति से निर्धारित नहीं किया जा सकता है। प्रोटोकॉल का नाम, गारबल्ड, इस यादृच्छिक क्रमचय से लिया गया है।


=== डेटा ट्रांसफर ===
=== डेटा स्थानांतरण ===
एलिस बॉब को सर्किट में सभी फाटकों के लिए गणना की गई विकृत तालिकाएँ भेजती है। विकृत तालिकाओं को खोलने के लिए बॉब को इनपुट लेबल की आवश्यकता है। इस प्रकार, ऐलिस अपने इनपुट के अनुरूप लेबल चुनती है <math>a</math> और उन्हें बॉब को भेजता है। उदाहरण के लिए, यदि ऐलिस का इनपुट है <math>\mathbf{a} = a_4a_3a_2a_1a_0 = 01101</math>, तो वह भेजती है <math>X_0^{a_4}</math>, <math>X_1^{a_3}</math>, <math>X_1^{a_2}</math>, <math>X_0^{a_1}</math>, और <math>X_1^{a_0}</math> बॉब को। ऐलिस के इनपुट के बारे में बॉब कुछ नहीं सीखेगा, <math>\mathbf{a}</math>, चूंकि लेबल ऐलिस द्वारा बेतरतीब ढंग से उत्पन्न होते हैं और वे बॉब को यादृच्छिक तार की तरह दिखते हैं।
एलिस बॉब को परिपथ में सभी गेट्स के लिए गणना की गई गारबल्ड सारणी भेजती है। विकृत सारणी को प्रारंभ करने के लिए बॉब को इनपुट लेबल की आवश्यकता है। इस प्रकार, ऐलिस उसके इनपुट के अनुरूप लेबल चयन करती है और उन्हें बॉब को प्रेषित करती है। उदाहरण के लिए, यदि ऐलिस का इनपुट <math>\mathbf{a} = a_4a_3a_2a_1a_0 = 01101</math>, तो वह <math>X_0^{a_4}</math>, <math>X_1^{a_3}</math>, <math>X_1^{a_2}</math>, <math>X_0^{a_1}</math>, और <math>X_1^{a_0}</math> प्रेषित करती है ऐलिस के इनपुट <math>\mathbf{a}</math> के बारे में बॉब कुछ नहीं सीखेगा चूंकि लेबल ऐलिस द्वारा अच्छे तरीके से उत्पन्न होते हैं और वे बॉब को यादृच्छिक स्ट्रिंग की तरह दिखते हैं।


बॉब को अपने इनपुट के अनुरूप लेबल की भी आवश्यकता होती है। वह अपने इनपुट के प्रत्येक बिट के लिए बेखबर स्थानान्तरण के माध्यम से अपने लेबल प्राप्त करता है। उदाहरण के लिए, यदि बॉब का इनपुट है <math>\mathbf{b} = b_4b_3b_2b_1b_0 = 10100</math>, बॉब पहले मांगता है <math>b_0=0</math> ऐलिस के लेबल के बीच <math>X_0^{b_0}</math> और <math>X_1^{b_0}</math>. 2 में से 1 बेखबर स्थानांतरण के माध्यम से, वह प्राप्त करता है <math>X_0^{b_0}</math> और इसी तरह। बेखबर स्थानान्तरण के बाद, ऐलिस बॉब के इनपुट के बारे में कुछ नहीं सीखेगा और बॉब अन्य लेबल के बारे में कुछ नहीं सीखेगा।
बॉब को अपने इनपुट के अनुरूप लेबल की भी आवश्यकता होती है। वह अपने इनपुट के प्रत्येक बिट के लिए ओब्लिवियस स्थानान्तरण के माध्यम से अपने लेबल प्राप्त करता है। उदाहरण के लिए, यदि बॉब का इनपुट <math>\mathbf{b} = b_4b_3b_2b_1b_0 = 10100</math> है, बॉब पहले <math>b_0=0</math> अपेक्षा करता है, कि ऐलिस के लेबल <math>X_0^{b_0}</math> के बीच <math>X_1^{b_0}</math> और 2 में से 1 ओब्लिवियस स्थानांतरण के माध्यम से <math>X_0^{b_0}</math> प्राप्त कर सके। ओब्लिवियस स्थानान्तरण के बाद, ऐलिस बॉब के इनपुट के बारे में कुछ नहीं सीखेगा और बॉब अन्य लेबल के बारे में कुछ नहीं सीखेगा।


=== मूल्यांकन ===
=== मूल्यांकन ===
डेटा ट्रांसफर के बाद, बॉब के पास विकृत टेबल और इनपुट लेबल हैं। वह एक-एक करके सभी फाटकों से गुजरता है और उनकी विकृत तालिकाओं में पंक्तियों को डिक्रिप्ट करने की कोशिश करता है। वह प्रत्येक तालिका के लिए एक पंक्ति खोल सकता है और संबंधित आउटपुट लेबल प्राप्त कर सकता है: <math>X^c = Dec_{X^a, X^b}(garbled\_table[i])</math>, कहाँ <math> 0\le i \le 3</math>. वह तब तक मूल्यांकन जारी रखता है जब तक वह आउटपुट लेबल तक नहीं पहुंच जाता।
डेटा स्थानांतरण के बाद, बॉब के पास गारबल्ड सारणी और इनपुट लेबल हैं। वह एक-एक करके सभी गेट्स से गुजरता है और उनकी गारबल्ड सारणियों में पंक्तियों को डिक्रिप्ट करने का प्रयास करता है। वह प्रत्येक तालिका के लिए एक पंक्ति प्रारंभ करने और संबंधित आउटपुट लेबल : <math>X^c = Dec_{X^a, X^b}(garbled\_table[i])</math> को पुनः प्राप्त करने में सक्षम है, जहाँ <math> 0\le i \le 3</math> है। वह तब तक मूल्यांकन जारी रखता है जब तक वह आउटपुट लेबल तक नहीं पहुंच जाता।


=== आउटपुट का खुलासा ===
=== आउटपुट प्रदर्शन ===
मूल्यांकन के बाद, बॉब आउटपुट लेबल प्राप्त करता है, <math>X^c</math>, और ऐलिस बूलियन मान के लिए इसकी मैपिंग जानती है क्योंकि उसके पास दोनों लेबल हैं: <math>X_0^c</math> और <math>X_1^c</math>. या तो ऐलिस अपनी जानकारी बॉब को साझा कर सकती है या बॉब ऐलिस को आउटपुट प्रकट कर सकता है जैसे कि उनमें से एक या दोनों आउटपुट सीखते हैं।
मूल्यांकन के बाद, बॉब आउटपुट लेबल <math>X^c</math>प्राप्त करता है, और ऐलिस बूलियन मान के लिए इसकी मैपिंग जानती है क्योंकि उसके पास दोनों <math>X_0^c</math> और <math>X_1^c</math> लेबल हैं। या तो ऐलिस अपनी जानकारी बॉब को साझा कर सकती है या बॉब ऐलिस को आउटपुट प्रकट कर सकता है जैसे कि उनमें से एक या दोनों आउटपुट सीखते हैं।


== अनुकूलन ==
== अनुकूलन ==


=== पॉइंट-एंड-परम्यूट ===
=== बिंदु और क्रमपरिवर्तन ===
इस अनुकूलन में, ऐलिस एक यादृच्छिक बिट उत्पन्न करता है, <math>s</math>, प्रत्येक तार के लिए बिट का चयन करें <math>w^a</math>. वह फिर लेबल 0 का पहला बिट सेट करती है, <math>X_0^a</math> को <math>s</math> और लेबल 1 का पहला बिट, <math>X_1^a</math>, को <math>\bar{s}</math> (बिटवाइज़ ऑपरेशन#का नहीं <math>s</math>). उसके बाद, बेतरतीब ढंग से अनुमति देने के बजाय, इनपुट बिट के अनुसार गारबल्ड टेबल को सॉर्ट करता है। इस तरह, बॉब को सही खोजने के लिए तालिका की सभी चार पंक्तियों का परीक्षण करने की आवश्यकता नहीं है, क्योंकि उसके पास इनपुट लेबल हैं और वह सही पंक्ति ढूंढ सकता है और इसे एक प्रयास से डिक्रिप्ट कर सकता है। इससे मूल्यांकन भार 4 गुना कम हो जाता है। यह आउटपुट वैल्यू के बारे में कुछ भी नहीं बताता है क्योंकि चुनिंदा बिट्स बेतरतीब ढंग से उत्पन्न होते हैं।<ref>{{cite book
इस अनुकूलन में, ऐलिस एक यादृच्छिक बिट <math>s</math> उत्पन्न करता है, प्रत्येक स्ट्रिंग के लिए बिट <math>w^a</math> का चयन करें वह फिर लेबल 0 का पहला बिट निर्धारित करती है, और <math>X_0^a</math> को <math>s</math> और लेबल 1 का पहला बिट <math>X_1^a</math>, को <math>\bar{s}</math> ( <math>s</math> का नॉट) निर्धारित करती है। उसके बाद, व्यवस्थित रूप से स्वीकृति देने के अतिरिक्त, इनपुट बिट के अनुसार गारबल्ड सारणी को क्रम मे रखता है। इस तरह, बॉब को सही खोजने के लिए सारणी की सभी चार पंक्तियों का परीक्षण करने की आवश्यकता नहीं है, क्योंकि उसके पास इनपुट लेबल हैं और वह सही पंक्ति पता कर सकता है और इसे एक प्रयास से डिक्रिप्ट कर सकता है। इससे मूल्यांकन भार 4 गुना कम हो जाता है। यह आउटपुट मान के बारे में कुछ भी नहीं बताता है क्योंकि चयनात्मक बिट्स व्यवस्थित रूप से उत्पन्न होते हैं।<ref>{{cite book
| last1      = Beaver
| last1      = Beaver
| first1      = Donald
| first1      = Donald
Line 179: Line 175:




=== पंक्ति में कमी ===
=== रो (कम्प्यूटर) अवनति ===
यह अनुकूलन गारबल्ड टेबल के आकार को 4 पंक्तियों से 3 पंक्तियों तक कम कर देता है। यहां, गेट के आउटपुट तार के लिए बेतरतीब ढंग से एक लेबल बनाने के बजाय, ऐलिस इनपुट लेबल के फ़ंक्शन का उपयोग करके इसे उत्पन्न करता है। वह आउटपुट लेबल उत्पन्न करती है जैसे कि विकृत तालिका की पहली प्रविष्टि 0 हो जाती है और अब उसे भेजने की आवश्यकता नहीं होती है:<ref>{{cite book
यह अनुकूलन गारबल्ड सारणी के आकार को 4 पंक्तियों से 3 पंक्तियों तक कम कर देता है। यहां, गेट के आउटपुट स्ट्रिंग के लिए व्यवस्थित रूप से एक लेबल बनाने के अतिरिक्त, ऐलिस इनपुट लेबल के फ़ंक्शन का उपयोग करके इसे उत्पन्न करता है। वह आउटपुट लेबल उत्पन्न करती है जैसे कि गारबल्ड सारणी की पहली प्रविष्टि 0 हो जाती है और अब उसे प्रेषित करने की आवश्यकता नहीं होती है:<ref>{{cite book
| last1      = Naor
| last1      = Naor
| first1      = Moni
| first1      = Moni
Line 203: Line 199:




=== फ्री एक्सओआर ===
=== मुक्त एक्सओआर ===
इस अनुकूलन में, ऐलिस एक वैश्विक यादृच्छिक (k-1)-बिट मान उत्पन्न करता है <math>R</math> जिसे गुप्त रखा गया है। इनपुट गेट्स की गड़गड़ाहट के दौरान <math>w^a</math> और <math>w^b</math>, वह केवल लेबल बनाती है <math>(X_0^a,X_0^b)</math> और अन्य लेबलों की गणना करता है <math>X_1^a = X_0^a \oplus (R \parallel 1)</math> और <math>X_1^b = X_0^b \oplus (R \parallel 1)</math>. इन मानों का उपयोग करते हुए, XOR गेट के आउटपुट वायर का लेबल <math>w^c</math> इनपुट तारों के साथ <math>w^a</math>, <math>w^b</math> इसके लिए सेट है <math>X^c = X^a \oplus X^b</math>. इस अनुकूलन के लिए [[यादृच्छिक ओरेकल]] में सुरक्षा का प्रमाण फ्री-एक्सओआर पेपर में दिया गया है।<ref>{{cite book
इस अनुकूलन में, ऐलिस एक वैश्विक यादृच्छिक (k-1)-बिट मान <math>R</math> उत्पन्न करता है, जिसे गुप्त रखा गया है। इनपुट गेट्स की गारबलिंग के समय <math>w^a</math> और <math>w^b</math> केवल लेबल <math>(X_0^a,X_0^b)</math> बनाती है और <math>X_1^a = X_0^a \oplus (R \parallel 1)</math> और <math>X_1^b = X_0^b \oplus (R \parallel 1)</math> अन्य लेबलों की गणना करता है। इन मानों का उपयोग करते हुए, एक्सओआर गेट के आउटपुट स्ट्रिंग का लेबल <math>w^c</math> इनपुट स्ट्रिंग <math>w^a</math>, <math>w^b</math> के साथ <math>X^c = X^a \oplus X^b</math> इसके लिए निर्धारित है। इस अनुकूलन के लिए [[यादृच्छिक ओरेकल]] में सुरक्षा का प्रमाण मुक्त-एक्सओआर पत्र में दिया गया है।<ref>{{cite book
| last1      = Kolesnikov
| last1      = Kolesnikov
| first1      = Vladimir
| first1      = Vladimir
Line 222: Line 218:


==== निहितार्थ ====
==== निहितार्थ ====
फ्री एक्सओआर ऑप्टिमाइज़ेशन का तात्पर्य एक महत्वपूर्ण बिंदु से है कि डेटा ट्रांसफर (संचार) की मात्रा और गारबल्ड सर्किट प्रोटोकॉल के एन्क्रिप्शन और डिक्रिप्शन (गणना) की संख्या केवल बूलियन सर्किट की संख्या और गेट पर निर्भर करती है न कि [[एक्सोर गेट]] पर। इस प्रकार, एक ही फ़ंक्शन का प्रतिनिधित्व करने वाले दो बूलियन सर्किट के बीच, AND गेट्स की छोटी संख्या वाले को प्राथमिकता दी जाती है।
मुक्त एक्सओआर ऑप्टिमाइज़ेशन (अनुकूलन) का तात्पर्य एक महत्वपूर्ण बिंदु से है कि डेटा स्थानांतरण (संचार) की मात्रा और गारबल्ड परिपथ प्रोटोकॉल के एन्क्रिप्शन और डिक्रिप्शन (गणना) की संख्या केवल बूलियन परिपथ की संख्या और गेट पर निर्भर करती है न कि [[एक्सोर गेट]] पर करती है। इस प्रकार, समान फ़ंक्शन का प्रतिनिधित्व करने वाले दो बूलियन परिपथ के बीच, एएनडी गेट्स की छोटी संख्या वाले को प्राथमिकता दी जाती है।


=== फिक्स्ड-कुंजी अवरोधक ===
=== निश्चित-कुंजी ब्लॉकसीफर ===
यह विधि [[SHA-2]] जैसे महंगे [[क्रिप्टोग्राफ़िक हैश फ़ंक्शन]] के बजाय निश्चित-कुंजी उन्नत एन्क्रिप्शन मानक का उपयोग करके कुशलता से गार्बल और मूल्यांकन और गेट की अनुमति देती है। इस गारब्लिंग योजना में जो #फ्री एक्सओआर और #रो रिडक्शन तकनीकों के साथ संगत है, आउटपुट कुंजी <math>X^c</math> इनपुट टोकन के साथ एन्क्रिप्ट किया गया है <math>X^a</math> और <math>X^b</math> एन्क्रिप्शन फ़ंक्शन का उपयोग करना <math>Enc(X^a, X^b, T, X^c) = \pi(K) \oplus K \oplus X^c</math>, कहाँ <math>K = 2X^a \oplus 4X^b \oplus T</math>, <math>\pi</math> एक निश्चित-कुंजी ब्लॉक सिफर है (उदाहरण के लिए, उन्नत एन्क्रिप्शन मानक के साथ तत्काल), और <math>T</math> एक अद्वितीय-प्रति-गेट संख्या है (उदाहरण के लिए, गेट पहचानकर्ता) जिसे ट्वीक कहा जाता है।<ref>{{cite book
यह विधि एसएचए[[SHA-2|-2]] जैसे उपयुक्त [[क्रिप्टोग्राफ़िक हैश फ़ंक्शन|क्रिप्टोग्राफ़िक हैश फ़ंक्शन]] के अतिरिक्त निश्चित-कुंजी उन्नत एन्क्रिप्शन मानक का उपयोग करके कुशलता से गार्बल और मूल्यांकन और गेट की स्वीकृति देती है। इस गारब्लिंग योजना में जो मुक्त एक्सओआर और रो अवनति तकनीकों के साथ संगत है, आउटपुट कुंजी <math>X^c</math> इनपुट टोकन के साथ <math>X^a</math> और <math>X^b</math> को एन्क्रिप्ट किया गया है, एन्क्रिप्शन फ़ंक्शन <math>Enc(X^a, X^b, T, X^c) = \pi(K) \oplus K \oplus X^c</math> का उपयोग किया जाता है, जहाँ <math>K = 2X^a \oplus 4X^b \oplus T</math>, <math>\pi</math> एक निश्चित-कुंजी ब्लॉक सिफर है उदाहरण के लिए, उन्नत एन्क्रिप्शन मानक के साथ तत्काल, और <math>T</math> एक अद्वितीय-प्रति-गेट संख्या है उदाहरण के लिए, गेट पहचानकर्ता जिसे ट्वीक कहा जाता है।<ref>{{cite book
| last1      = Bellare
| last1      = Bellare
| first1      = Mihir
| first1      = Mihir
Line 246: Line 242:


=== आधा और ===
=== आधा और ===
यह अनुकूलन AND गेट्स के लिए विकृत तालिका के आकार को #Row Reduction में 3 पंक्ति से घटाकर 2 पंक्तियाँ कर देता है। यह दिखाया गया है कि यह गारबल्ड टेबल में पंक्तियों की संख्या के लिए सैद्धांतिक न्यूनतम है, गारबलिंग तकनीकों के एक निश्चित वर्ग के लिए।<ref>{{cite book
यह अनुकूलन एएनडी गेट्स के लिए गारबल्ड सारणी के आकार को रो अवनति में 3 पंक्ति से घटाकर 2 पंक्तियाँ कर देता है। यह दिखाया गया है कि यह गारबल्ड सारणी में पंक्तियों की संख्या के लिए, गारबलिंग तकनीकों के एक निश्चित वर्ग के लिए सैद्धांतिक न्यूनतम है।<ref>{{cite book
| last1      = Zahur
| last1      = Zahur
| first1      = Samee
| first1      = Samee
Line 260: Line 256:


== सुरक्षा ==
== सुरक्षा ==
याओ का गारबल्ड सर्किट अर्ध-ईमानदार विरोधी के खिलाफ सुरक्षित है। इस प्रकार का विरोधी प्रोटोकॉल का पालन करता है और कोई दुर्भावनापूर्ण व्यवहार नहीं करता है, लेकिन यह प्रोटोकॉल में प्रसारित संदेशों की जांच करके दूसरे पक्ष के इनपुट की गोपनीयता का उल्लंघन करने का प्रयास करता है।
याओ का गारबल्ड परिपथ अर्ध-उपयुक्त विरोधी के विपरीत सुरक्षित है। इस प्रकार का विरोधी प्रोटोकॉल का अनुसरण करता है और कोई मेलिसियस व्यवहार नहीं करता है, लेकिन यह प्रोटोकॉल में प्रसारित संदेशों की जांच करके दूसरे पक्ष के इनपुट की गोपनीयता का उल्लंघन करने का प्रयास करता है।


प्रोटोकॉल से विचलित होने वाले दुर्भावनापूर्ण विरोधी के खिलाफ इस प्रोटोकॉल को सुरक्षित बनाना अधिक चुनौतीपूर्ण है। दुर्भावनापूर्ण विरोधी के खिलाफ प्रोटोकॉल को सुरक्षित बनाने के पहले समाधानों में से एक प्रोटोकॉल के दौरान दुर्भावनापूर्ण गतिविधियों को रोकने के लिए शून्य-ज्ञान प्रमाण का उपयोग करना है।<ref>{{Cite journal|last1=Goldwasser|first1=S|last2=Micali|first2=S|last3=Rackoff|first3=C|date=1985-12-01|title=इंटरएक्टिव प्रूफ-सिस्टम की ज्ञान जटिलता|url=https://doi.org/10.1145/22145.22178|journal=Proceedings of the Seventeenth Annual ACM Symposium on Theory of Computing|series=STOC '85|location=Providence, Rhode Island, USA|publisher=Association for Computing Machinery|pages=291–304|doi=10.1145/22145.22178|isbn=978-0-89791-151-1|s2cid=8689051}}</ref> वर्षों से, इस दृष्टिकोण को इसकी जटिलता के कारण व्यावहारिक समाधान की तुलना में सैद्धांतिक समाधान के रूप में अधिक माना जाता था। लेकिन, यह दिखाया गया है कि इसे केवल एक छोटे से उपरि के साथ उपयोग करना संभव है।<ref>{{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=Is the Classical GMW Paradigm Practical? The Case of Non-Interactive Actively Secure 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}}</ref> एक अन्य दृष्टिकोण एक सर्किट के लिए कई जीसी का उपयोग कर रहा है और उनमें से एक सबसेट की शुद्धता की पुष्टि कर रहा है और फिर गणना के लिए बाकी का उपयोग इस उम्मीद के साथ कर रहा है कि अगर गार्बलर दुर्भावनापूर्ण था, तो सत्यापन चरण के दौरान इसका पता लगाया जाएगा।<ref>{{Cite journal|last1=Lindell|first1=Yehuda|last2=Pinkas|first2=Benny|date=2007|editor-last=Naor|editor-first=Moni|title=दुर्भावनापूर्ण विरोधियों की उपस्थिति में सुरक्षित दो-पक्षीय संगणना के लिए एक कुशल प्रोटोकॉल|journal=Advances in Cryptology - EUROCRYPT 2007|series=Lecture Notes in Computer Science|volume=4515|language=en|location=Berlin, Heidelberg|publisher=Springer|pages=52–78|doi=10.1007/978-3-540-72540-4_4|bibcode=2007LNCS.4515...52L|isbn=978-3-540-72540-4|doi-access=free}}</ref> एक अन्य उपाय यह है कि गारब्लिंग स्कीम को इस तरह प्रमाणित किया जाए कि मूल्यांकनकर्ता गारबल्ड सर्किट को सत्यापित कर सके।<ref>{{Cite journal|last1=Ishai|first1=Yuval|last2=Kushilevitz|first2=Eyal|last3=Ostrovsky|first3=Rafail|last4=Prabhakaran|first4=Manoj|last5=Sahai|first5=Amit|date=2011|editor-last=Paterson|editor-first=Kenneth G.|title=कुशल गैर-संवादात्मक सुरक्षित संगणना|journal=Advances in Cryptology – EUROCRYPT 2011|series=Lecture Notes in Computer Science|volume=6632|language=en|location=Berlin, Heidelberg|publisher=Springer|pages=406–425|doi=10.1007/978-3-642-20465-4_23|isbn=978-3-642-20465-4|doi-access=free}}</ref><ref>{{Cite journal|last1=Hazay|first1=Carmit|last2=Ishai|first2=Yuval|last3=Venkitasubramaniam|first3=Muthuramakrishnan|date=2017|editor-last=Kalai|editor-first=Yael|editor2-last=Reyzin|editor2-first=Leonid|title=प्लेन मॉडल में लगातार संचार ओवरहेड के साथ सक्रिय रूप से सुरक्षित गारबल्ड सर्किट|url=https://link.springer.com/chapter/10.1007%2F978-3-319-70503-3_1|journal=Theory of Cryptography|series=Lecture Notes in Computer Science|volume=10678|language=en|location=Cham|publisher=Springer International Publishing|pages=3–39|doi=10.1007/978-3-319-70503-3_1|isbn=978-3-319-70503-3}}</ref>
प्रोटोकॉल से विचलित होने वाले मेलिसियस विरोधी के विपरीत इस प्रोटोकॉल को सुरक्षित बनाना अधिक चुनौतीपूर्ण है। मेलिसियस विरोधी के विपरीत प्रोटोकॉल को सुरक्षित बनाने के पहले समाधानों में से एक प्रोटोकॉल के समय मेलिसियस गतिविधियों को प्रतिबंधित करने के लिए शून्य-ज्ञान प्रमाण का उपयोग करना है।<ref>{{Cite journal|last1=Goldwasser|first1=S|last2=Micali|first2=S|last3=Rackoff|first3=C|date=1985-12-01|title=इंटरएक्टिव प्रूफ-सिस्टम की ज्ञान जटिलता|url=https://doi.org/10.1145/22145.22178|journal=Proceedings of the Seventeenth Annual ACM Symposium on Theory of Computing|series=STOC '85|location=Providence, Rhode Island, USA|publisher=Association for Computing Machinery|pages=291–304|doi=10.1145/22145.22178|isbn=978-0-89791-151-1|s2cid=8689051}}</ref> वर्षों से, इस दृष्टिकोण को इसकी जटिलता के कारण व्यावहारिक समाधान की तुलना में सैद्धांतिक समाधान के रूप में अधिक माना जाता था। लेकिन, यह दिखाया गया है कि इसे केवल एक छोटे से ओवरहेड के साथ उपयोग करना संभव है।<ref>{{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=Is the Classical GMW Paradigm Practical? The Case of Non-Interactive Actively Secure 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}}</ref> एक अन्य दृष्टिकोण एक परिपथ के लिए कई जीसी का उपयोग कर रहा है और उनमें से एक उपसमूह की शुद्धता की पुष्टि कर रहा है और फिर गणना के लिए शेष का उपयोग इस उपेक्षा के साथ कर रहा है कि यदि गार्बलर मेलिसियस था, तो सत्यापन चरण के समय इसका पता लगाया जाएगा।<ref>{{Cite journal|last1=Lindell|first1=Yehuda|last2=Pinkas|first2=Benny|date=2007|editor-last=Naor|editor-first=Moni|title=दुर्भावनापूर्ण विरोधियों की उपस्थिति में सुरक्षित दो-पक्षीय संगणना के लिए एक कुशल प्रोटोकॉल|journal=Advances in Cryptology - EUROCRYPT 2007|series=Lecture Notes in Computer Science|volume=4515|language=en|location=Berlin, Heidelberg|publisher=Springer|pages=52–78|doi=10.1007/978-3-540-72540-4_4|bibcode=2007LNCS.4515...52L|isbn=978-3-540-72540-4|doi-access=free}}</ref> एक अन्य तरीका यह है कि गारब्लिंग योजना को इस तरह प्रमाणित किया जाए कि मूल्यांकनकर्ता गारबल्ड परिपथ को सत्यापित कर सके।<ref>{{Cite journal|last1=Ishai|first1=Yuval|last2=Kushilevitz|first2=Eyal|last3=Ostrovsky|first3=Rafail|last4=Prabhakaran|first4=Manoj|last5=Sahai|first5=Amit|date=2011|editor-last=Paterson|editor-first=Kenneth G.|title=कुशल गैर-संवादात्मक सुरक्षित संगणना|journal=Advances in Cryptology – EUROCRYPT 2011|series=Lecture Notes in Computer Science|volume=6632|language=en|location=Berlin, Heidelberg|publisher=Springer|pages=406–425|doi=10.1007/978-3-642-20465-4_23|isbn=978-3-642-20465-4|doi-access=free}}</ref><ref>{{Cite journal|last1=Hazay|first1=Carmit|last2=Ishai|first2=Yuval|last3=Venkitasubramaniam|first3=Muthuramakrishnan|date=2017|editor-last=Kalai|editor-first=Yael|editor2-last=Reyzin|editor2-first=Leonid|title=प्लेन मॉडल में लगातार संचार ओवरहेड के साथ सक्रिय रूप से सुरक्षित गारबल्ड सर्किट|url=https://link.springer.com/chapter/10.1007%2F978-3-319-70503-3_1|journal=Theory of Cryptography|series=Lecture Notes in Computer Science|volume=10678|language=en|location=Cham|publisher=Springer International Publishing|pages=3–39|doi=10.1007/978-3-319-70503-3_1|isbn=978-3-319-70503-3}}</ref>




Line 268: Line 264:
* [[क्रिप्टोग्राफी]]
* [[क्रिप्टोग्राफी]]
* [[आरएसए (एल्गोरिदम)]]
* [[आरएसए (एल्गोरिदम)]]
* सुरक्षित बहुदलीय संगणना
* सुरक्षित बहुपक्षीय संगणना
* याओ के करोड़पतियों की समस्या
* याओ के मिलियनैर की समस्या


==संदर्भ==
==संदर्भ==

Revision as of 15:33, 17 May 2023

गारबल्ड (विकृत) परिपथ एक क्रिप्टोग्राफ़िक प्रोटोकॉल है जो दो-पक्षीय सुरक्षित संगणना को सक्षम करता है जिसमें दो अविश्वास करने वाले पक्ष एक विश्वसनीय तृतीय पक्ष की उपस्थिति के बिना अपने निजी इनपुट पर संयुक्त रूप से एक फ़ंक्शन का मूल्यांकन कर सकते हैं। गारबल्ड परिपथ प्रोटोकॉल में, फ़ंक्शन को बूलियन परिपथ के रूप में वर्णित किया जाना चाहिए।

गारबल्ड परिपथ (सर्किट) का इतिहास जटिल है। गारबल्ड परिपथ के आविष्कार का श्रेय एंड्रयू याओ को दिया गया, क्योंकि याओ ने कंप्यूटर विज्ञान की नींव'86 में एक पत्र[1] की मौखिक प्रस्तुति में इस विचार को प्रस्तुत किया था। यह 2003 में ओडेड गोल्ड्रेइच द्वारा प्रलेखित किया गया था।[2] इस तकनीक के बारे में पहला लिखित दस्तावेज़ कम्प्यूटिंग के सिद्धांत पर परिचर्चा'87 में गोल्ड्रेइच, मिकाली और एवी विगडरसन द्वारा दिया गया था।[3] गारबल्ड परिपथ शब्द का पहली बार उपयोग कम्प्यूटिंग के सिद्धांत पर परिचर्चा'90 में बीवर, मिकाली और फिलिप रोगवे द्वारा किया गया था।[4] याओ के मिलियनैर की समस्या को हल करने वाला याओ का प्रोटोकॉल सुरक्षित संगणना का प्रारम्भिक उदाहरण था, फिर भी यह गारबल्ड परिपथ से सीधे संबंधित नहीं है।

पृष्ठभूमि

ओब्लिवियस स्थानांतरण

गारबल्ड परिपथ प्रोटोकॉल में, हम ओब्लिवियस स्थानांतरण का उपयोग करते हैं। ओब्लिवियस स्थानांतरण में, एक स्ट्रिंग (कंप्यूटर विज्ञान) एक प्रेषक और एक अभिग्राही के बीच निम्नलिखित तरीके से स्थानांतरित किया जाता है: एक प्रेषक के दो स्ट्रिंग और होते हैं अभिग्राही चयन करता है और प्रेषक को ओब्लिवियस स्थानांतरण प्रोटोकॉल के साथ प्रेषित करता है जैसे कि

  1. अभिग्राही को असंतुलित स्ट्रिंग के बारे में कोई जानकारी नहीं मिलती है,
  2. का मान प्रेषक के सामने नहीं आता है।

ध्यान दें कि जबकि अभिग्राही मानों को नहीं जानता है, व्यवहार में अभिग्राही कुछ जानकारी जानता है कि क्या एन्कोड करता है ताकि अभिग्राही बिना विचार किए चयन करता है। अर्थात यदि गलत मान को एनकोड करता है, तो सही मान को एनकोड करता है और अभिग्राही एन्कोडेड सही मान प्राप्त करना चाहता है, तब अभिग्राही चयन करता है।

आरएसए गुप्‍त संदेश पद्धति की तरह असममित क्रिप्टोग्राफी का उपयोग करके विस्मृत हस्तांतरण का निर्माण किया जा सकता है।

परिभाषाएं और नोटेशन

ऑपरेटर स्ट्रिंग संयोजन है। ऑपरेटर बिट-वार एक्सओआर है। k एक सुरक्षा पैरामीटर और कुंजियों की लंबाई है। यह 80 से अधिक होना चाहिए और सामान्य रूप से 128 पर स्थापित होता है।

गारबल्ड परिपथ प्रोटोकॉल

प्रोटोकॉल में निम्नानुसार 6 चरण होते हैं:

  1. अंतर्निहित फ़ंक्शन (उदाहरण के लिए, मिलियनैर की समस्या में, समतुल्यता फ़ंक्शन) को 2-इनपुट गेट्स के साथ बूलियन परिपथ के रूप में वर्णित किया गया है। परिपथ दोनों पक्षों के लिए जाना जाता है। यह चरण किसी तीसरे पक्ष द्वारा पहले ही किया जा सकता है।
  2. ऐलिस परिपथ को गारबल्स (एन्क्रिप्ट) करता है। हम ऐलिस द गारब्लर कहते हैं।
  3. ऐलिस अपने एन्क्रिप्टेड इनपुट के साथ बॉब को गारबल्ड परिपथ भेजती है।
  4. परिपथ की गणना करने के लिए, बॉब को अपने स्वयं के इनपुट को भी गारबल करने की आवश्यकता है। यह अंत करने के लिए, उसे ऐलिस की सहायता की आवश्यकता है, क्योंकि केवल गार्बलर ही एन्क्रिप्ट करना जानता है। अंत में, बॉब ओब्लिवियस स्थानांतरण के जरिए अपने इनपुट को एन्क्रिप्ट कर सकता है। ऊपर से परिभाषा के संदर्भ में, बॉब अभिग्राही है और ऐलिस इस ओब्लिवियस स्थानांतरण पर प्रेषक है।
  5. बॉब परिपथ का मूल्यांकन (डिक्रिप्ट) करता है और एन्क्रिप्टेड आउटपुट प्राप्त करता है। हम बॉब को मूल्यांकनकर्ता कहते हैं।
  6. एलिस और बॉब आउटपुट जानने के लिए संवाद करते हैं

परिपथ उत्पादन

छोटे फंक्शनों के लिए बूलियन परिपथ को हाथ से उत्पन्न किया जा सकता है। परिपथ को 2-इनपुट एक्सओआर और एएनडी गेट से बनाना पारंपरिक है। यह महत्वपूर्ण है कि उत्पन्न सर्किट में एएनडी गेट्स की न्यूनतम संख्या हो (मुक्त एक्सओआर अनुकूलन देखें)। ऐसी विधियाँ हैं जो तर्क संश्लेषण तकनीक का उपयोग करके एएनडी गेट्स की संख्या के संदर्भ में अनुकूलित परिपथ उत्पन्न करती हैं।[5] मिलियनेयर्स समस्या के लिए परिपथ एक डिजिटल तुलनित्र परिपथ है जो पूर्ण योजकों की एक श्रृंखला है जो एक सबट्रैक्टर (व्यवकलक) के रूप में काम करता है और स्वीकृत फ़्लैग को आउटपुट करता है। एक पूर्ण योजक परिपथ केवल एक एएनडी गेट और कुछ एक्सओआर गेट्स का उपयोग करके कार्यान्वित किया जा सकता है। इसका तात्पर्य है कि मिलियनैर की समस्या के परिपथ के लिए एएनडी गेट्स की कुल संख्या इनपुट की बिट-चौड़ाई के बराबर है।

गारबिंग

एएनडी गेट पर स्ट्रिंग और उनके लेबल
एएनडी गेट की सत्यता सारणी का निर्माण

ऐलिस (गार्बलर) इस चरण में बूलियन परिपथ को गारबल्ड परिपथ प्राप्त करने के लिए एन्क्रिप्ट करता है। ऐलिस परिपथ में प्रत्येक स्ट्रिंग के लिए दो यादृच्छिक रूप से उत्पन्न स्ट्रिंग्स को लेबल करता है: एक बूलियन डेटा प्रकार सिमेंटिक 0 के लिए और एक 1 के लिए लेबल k-बिट लंबा है जहां k सुरक्षा पैरामीटर है और सामान्य रूप से 128 पर निर्धारित होता है। अगला, वह परिपथ के सभी गेटों पर जाती है और 0 और 1 को संबंधित लेबल के साथ सत्य सारणी में बदल देती है। नीचे दी गई सारणी दो इनपुट और आउटपुट के साथ एएनडी गेट के लिए सत्य सारणी दिखाती है:

a b c
0 0 0
0 1 0
1 0 0
1 1 1

ऐलिस ने 0 और 1 को संबंधित लेबल से बदल दिया:

a b c

वह फिर सत्य सारणी के आउटपुट प्रविष्टि को संबंधित दो इनपुट लेबल के साथ एन्क्रिप्ट करती है। एन्क्रिप्टेड सारणी को गारबल्ड सारणी कहा जाता है। यह इस तरह से किया जाता है कि कोई गारबल्ड सारणी को केवल तभी डिक्रिप्ट कर सकता है जब उसके पास सही दो इनपुट लेबल हों। नीचे दी गई सारणी में, एक डबल-कुंजी सममित एन्क्रिप्शन है जिसमें k गुप्त कुंजी है और X एन्क्रिप्ट (निश्चित-कुंजी ब्लॉकसीफर देखें) किया जाने वाला मान है।

Garbled Table

इसके बाद, ऐलिस सही तरीके से सारणी को इस तरह से बदल देता है कि आउटपुट मान को पंक्ति से निर्धारित नहीं किया जा सकता है। प्रोटोकॉल का नाम, गारबल्ड, इस यादृच्छिक क्रमचय से लिया गया है।

डेटा स्थानांतरण

एलिस बॉब को परिपथ में सभी गेट्स के लिए गणना की गई गारबल्ड सारणी भेजती है। विकृत सारणी को प्रारंभ करने के लिए बॉब को इनपुट लेबल की आवश्यकता है। इस प्रकार, ऐलिस उसके इनपुट के अनुरूप लेबल चयन करती है और उन्हें बॉब को प्रेषित करती है। उदाहरण के लिए, यदि ऐलिस का इनपुट , तो वह , , , , और प्रेषित करती है ऐलिस के इनपुट के बारे में बॉब कुछ नहीं सीखेगा चूंकि लेबल ऐलिस द्वारा अच्छे तरीके से उत्पन्न होते हैं और वे बॉब को यादृच्छिक स्ट्रिंग की तरह दिखते हैं।

बॉब को अपने इनपुट के अनुरूप लेबल की भी आवश्यकता होती है। वह अपने इनपुट के प्रत्येक बिट के लिए ओब्लिवियस स्थानान्तरण के माध्यम से अपने लेबल प्राप्त करता है। उदाहरण के लिए, यदि बॉब का इनपुट है, बॉब पहले अपेक्षा करता है, कि ऐलिस के लेबल के बीच और 2 में से 1 ओब्लिवियस स्थानांतरण के माध्यम से प्राप्त कर सके। ओब्लिवियस स्थानान्तरण के बाद, ऐलिस बॉब के इनपुट के बारे में कुछ नहीं सीखेगा और बॉब अन्य लेबल के बारे में कुछ नहीं सीखेगा।

मूल्यांकन

डेटा स्थानांतरण के बाद, बॉब के पास गारबल्ड सारणी और इनपुट लेबल हैं। वह एक-एक करके सभी गेट्स से गुजरता है और उनकी गारबल्ड सारणियों में पंक्तियों को डिक्रिप्ट करने का प्रयास करता है। वह प्रत्येक तालिका के लिए एक पंक्ति प्रारंभ करने और संबंधित आउटपुट लेबल : को पुनः प्राप्त करने में सक्षम है, जहाँ है। वह तब तक मूल्यांकन जारी रखता है जब तक वह आउटपुट लेबल तक नहीं पहुंच जाता।

आउटपुट प्रदर्शन

मूल्यांकन के बाद, बॉब आउटपुट लेबल प्राप्त करता है, और ऐलिस बूलियन मान के लिए इसकी मैपिंग जानती है क्योंकि उसके पास दोनों और लेबल हैं। या तो ऐलिस अपनी जानकारी बॉब को साझा कर सकती है या बॉब ऐलिस को आउटपुट प्रकट कर सकता है जैसे कि उनमें से एक या दोनों आउटपुट सीखते हैं।

अनुकूलन

बिंदु और क्रमपरिवर्तन

इस अनुकूलन में, ऐलिस एक यादृच्छिक बिट उत्पन्न करता है, प्रत्येक स्ट्रिंग के लिए बिट का चयन करें वह फिर लेबल 0 का पहला बिट निर्धारित करती है, और को और लेबल 1 का पहला बिट , को ( का नॉट) निर्धारित करती है। उसके बाद, व्यवस्थित रूप से स्वीकृति देने के अतिरिक्त, इनपुट बिट के अनुसार गारबल्ड सारणी को क्रम मे रखता है। इस तरह, बॉब को सही खोजने के लिए सारणी की सभी चार पंक्तियों का परीक्षण करने की आवश्यकता नहीं है, क्योंकि उसके पास इनपुट लेबल हैं और वह सही पंक्ति पता कर सकता है और इसे एक प्रयास से डिक्रिप्ट कर सकता है। इससे मूल्यांकन भार 4 गुना कम हो जाता है। यह आउटपुट मान के बारे में कुछ भी नहीं बताता है क्योंकि चयनात्मक बिट्स व्यवस्थित रूप से उत्पन्न होते हैं।[6]


रो (कम्प्यूटर) अवनति

यह अनुकूलन गारबल्ड सारणी के आकार को 4 पंक्तियों से 3 पंक्तियों तक कम कर देता है। यहां, गेट के आउटपुट स्ट्रिंग के लिए व्यवस्थित रूप से एक लेबल बनाने के अतिरिक्त, ऐलिस इनपुट लेबल के फ़ंक्शन का उपयोग करके इसे उत्पन्न करता है। वह आउटपुट लेबल उत्पन्न करती है जैसे कि गारबल्ड सारणी की पहली प्रविष्टि 0 हो जाती है और अब उसे प्रेषित करने की आवश्यकता नहीं होती है:[7]


मुक्त एक्सओआर

इस अनुकूलन में, ऐलिस एक वैश्विक यादृच्छिक (k-1)-बिट मान उत्पन्न करता है, जिसे गुप्त रखा गया है। इनपुट गेट्स की गारबलिंग के समय और केवल लेबल बनाती है और और अन्य लेबलों की गणना करता है। इन मानों का उपयोग करते हुए, एक्सओआर गेट के आउटपुट स्ट्रिंग का लेबल इनपुट स्ट्रिंग , के साथ इसके लिए निर्धारित है। इस अनुकूलन के लिए यादृच्छिक ओरेकल में सुरक्षा का प्रमाण मुक्त-एक्सओआर पत्र में दिया गया है।[8]


निहितार्थ

मुक्त एक्सओआर ऑप्टिमाइज़ेशन (अनुकूलन) का तात्पर्य एक महत्वपूर्ण बिंदु से है कि डेटा स्थानांतरण (संचार) की मात्रा और गारबल्ड परिपथ प्रोटोकॉल के एन्क्रिप्शन और डिक्रिप्शन (गणना) की संख्या केवल बूलियन परिपथ की संख्या और गेट पर निर्भर करती है न कि एक्सोर गेट पर करती है। इस प्रकार, समान फ़ंक्शन का प्रतिनिधित्व करने वाले दो बूलियन परिपथ के बीच, एएनडी गेट्स की छोटी संख्या वाले को प्राथमिकता दी जाती है।

निश्चित-कुंजी ब्लॉकसीफर

यह विधि एसएचए-2 जैसे उपयुक्त क्रिप्टोग्राफ़िक हैश फ़ंक्शन के अतिरिक्त निश्चित-कुंजी उन्नत एन्क्रिप्शन मानक का उपयोग करके कुशलता से गार्बल और मूल्यांकन और गेट की स्वीकृति देती है। इस गारब्लिंग योजना में जो मुक्त एक्सओआर और रो अवनति तकनीकों के साथ संगत है, आउटपुट कुंजी इनपुट टोकन के साथ और को एन्क्रिप्ट किया गया है, एन्क्रिप्शन फ़ंक्शन का उपयोग किया जाता है, जहाँ , एक निश्चित-कुंजी ब्लॉक सिफर है उदाहरण के लिए, उन्नत एन्क्रिप्शन मानक के साथ तत्काल, और एक अद्वितीय-प्रति-गेट संख्या है उदाहरण के लिए, गेट पहचानकर्ता जिसे ट्वीक कहा जाता है।[9]


आधा और

यह अनुकूलन एएनडी गेट्स के लिए गारबल्ड सारणी के आकार को रो अवनति में 3 पंक्ति से घटाकर 2 पंक्तियाँ कर देता है। यह दिखाया गया है कि यह गारबल्ड सारणी में पंक्तियों की संख्या के लिए, गारबलिंग तकनीकों के एक निश्चित वर्ग के लिए सैद्धांतिक न्यूनतम है।[10]


सुरक्षा

याओ का गारबल्ड परिपथ अर्ध-उपयुक्त विरोधी के विपरीत सुरक्षित है। इस प्रकार का विरोधी प्रोटोकॉल का अनुसरण करता है और कोई मेलिसियस व्यवहार नहीं करता है, लेकिन यह प्रोटोकॉल में प्रसारित संदेशों की जांच करके दूसरे पक्ष के इनपुट की गोपनीयता का उल्लंघन करने का प्रयास करता है।

प्रोटोकॉल से विचलित होने वाले मेलिसियस विरोधी के विपरीत इस प्रोटोकॉल को सुरक्षित बनाना अधिक चुनौतीपूर्ण है। मेलिसियस विरोधी के विपरीत प्रोटोकॉल को सुरक्षित बनाने के पहले समाधानों में से एक प्रोटोकॉल के समय मेलिसियस गतिविधियों को प्रतिबंधित करने के लिए शून्य-ज्ञान प्रमाण का उपयोग करना है।[11] वर्षों से, इस दृष्टिकोण को इसकी जटिलता के कारण व्यावहारिक समाधान की तुलना में सैद्धांतिक समाधान के रूप में अधिक माना जाता था। लेकिन, यह दिखाया गया है कि इसे केवल एक छोटे से ओवरहेड के साथ उपयोग करना संभव है।[12] एक अन्य दृष्टिकोण एक परिपथ के लिए कई जीसी का उपयोग कर रहा है और उनमें से एक उपसमूह की शुद्धता की पुष्टि कर रहा है और फिर गणना के लिए शेष का उपयोग इस उपेक्षा के साथ कर रहा है कि यदि गार्बलर मेलिसियस था, तो सत्यापन चरण के समय इसका पता लगाया जाएगा।[13] एक अन्य तरीका यह है कि गारब्लिंग योजना को इस तरह प्रमाणित किया जाए कि मूल्यांकनकर्ता गारबल्ड परिपथ को सत्यापित कर सके।[14][15]


यह भी देखें

संदर्भ

  1. Yao, Andrew Chi-Chih (1986). "How to generate and exchange secrets". 27th Annual Symposium on Foundations of Computer Science (SFCS 1986). pp. 162–167. doi:10.1109/SFCS.1986.25. ISBN 978-0-8186-0740-0. {{cite book}}: |journal= ignored (help)
  2. Goldreich, Oded (2003). "Cryptography and Cryptographic Protocols". Distributed Computing - Papers in Celebration of the 20th Anniversary of PODC. 16 (2–3): 177–199. CiteSeerX 10.1.1.117.3618. doi:10.1007/s00446-002-0077-1. S2CID 9966766.
  3. Goldreich, Oded; Micali, Silvio; Wigderson, Avi (1987). How to play ANY mental game. pp. 218–229. doi:10.1145/28395.28420. ISBN 978-0897912211. S2CID 6669082. {{cite book}}: |journal= ignored (help)
  4. Beaver, Donald; Micali, Silvio; Rogaway, Phillip (1990). The Round Complexity of Secure Protocols. pp. 503–513. CiteSeerX 10.1.1.697.1624. doi:10.1145/100216.100287. ISBN 978-0897913614. S2CID 1578121. {{cite book}}: |journal= ignored (help)
  5. Songhori, Ebrahim M; Hussain, Siam U; Sadeghi, Ahmad-Reza; Schneider, Thomas; Koushanfar, Farinaz (2015). TinyGarble: Highly compressed and scalable sequential garbled circuits. pp. 411–428. doi:10.1109/SP.2015.32. ISBN 978-1-4673-6949-7. S2CID 5346323. {{cite book}}: |journal= ignored (help)
  6. Beaver, Donald; Micali, Silvio; Rogaway, Phillip (1990). The round complexity of secure protocols. pp. 503–513. CiteSeerX 10.1.1.697.1624. doi:10.1145/100216.100287. ISBN 978-0897913614. S2CID 1578121. {{cite book}}: |journal= ignored (help)
  7. Naor, Moni; Pinkas, Benny; Sumner, Reuban (1999). Privacy preserving auctions and mechanism design. pp. 129–139. CiteSeerX 10.1.1.17.7459. doi:10.1145/336992.337028. ISBN 978-1581131765. S2CID 207593367. {{cite book}}: |journal= ignored (help)
  8. Kolesnikov, Vladimir; Schneider, Thomas (2008). Improved garbled circuit: Free XOR gates and applications. pp. 486–498. CiteSeerX 10.1.1.160.5268. doi:10.1007/978-3-540-70583-3_40. ISBN 978-3-540-70582-6. {{cite book}}: |journal= ignored (help)
  9. Bellare, Mihir; Hoang, Viet Tung; Keelveedhi, Sriram; Rogaway, Phillip (2013). Efficient garbling from a fixed-key blockcipher. pp. 478–492. CiteSeerX 10.1.1.299.2755. doi:10.1109/SP.2013.39. ISBN 978-0-7695-4977-4. S2CID 1351222. {{cite book}}: |journal= ignored (help)
  10. Zahur, Samee; Rosulek, Mike; Evans, David (2015). Two halves make a whole (PDF).
  11. Goldwasser, S; Micali, S; Rackoff, C (1985-12-01). "इंटरएक्टिव प्रूफ-सिस्टम की ज्ञान जटिलता". Proceedings of the Seventeenth Annual ACM Symposium on Theory of Computing. STOC '85. Providence, Rhode Island, USA: Association for Computing Machinery: 291–304. doi:10.1145/22145.22178. ISBN 978-0-89791-151-1. S2CID 8689051.
  12. Abascal, Jackson; Faghihi Sereshgi, Mohammad Hossein; Hazay, Carmit; Ishai, Yuval; Venkitasubramaniam, Muthuramakrishnan (2020-10-30). "Is the Classical GMW Paradigm Practical? The Case of Non-Interactive Actively Secure 2PC". Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security. CCS '20. Virtual Event, USA: Association for Computing Machinery: 1591–1605. doi:10.1145/3372297.3423366. ISBN 978-1-4503-7089-9. S2CID 226228208.
  13. Lindell, Yehuda; Pinkas, Benny (2007). Naor, Moni (ed.). "दुर्भावनापूर्ण विरोधियों की उपस्थिति में सुरक्षित दो-पक्षीय संगणना के लिए एक कुशल प्रोटोकॉल". Advances in Cryptology - EUROCRYPT 2007. Lecture Notes in Computer Science (in English). Berlin, Heidelberg: Springer. 4515: 52–78. Bibcode:2007LNCS.4515...52L. doi:10.1007/978-3-540-72540-4_4. ISBN 978-3-540-72540-4.
  14. Ishai, Yuval; Kushilevitz, Eyal; Ostrovsky, Rafail; Prabhakaran, Manoj; Sahai, Amit (2011). Paterson, Kenneth G. (ed.). "कुशल गैर-संवादात्मक सुरक्षित संगणना". Advances in Cryptology – EUROCRYPT 2011. Lecture Notes in Computer Science (in English). Berlin, Heidelberg: Springer. 6632: 406–425. doi:10.1007/978-3-642-20465-4_23. ISBN 978-3-642-20465-4.
  15. Hazay, Carmit; Ishai, Yuval; Venkitasubramaniam, Muthuramakrishnan (2017). Kalai, Yael; Reyzin, Leonid (eds.). "प्लेन मॉडल में लगातार संचार ओवरहेड के साथ सक्रिय रूप से सुरक्षित गारबल्ड सर्किट". Theory of Cryptography. Lecture Notes in Computer Science (in English). Cham: Springer International Publishing. 10678: 3–39. doi:10.1007/978-3-319-70503-3_1. ISBN 978-3-319-70503-3.


अग्रिम पठन