समरूपी गोपनीयता साझाकरण

क्रिप्टोग्राफी (कूटलेखन) में, समरूपी गोपनीयता साझाकरण एक प्रकार का गोपनीयता साझाकरण एल्गोरिथम है जिसमें होमोमोर्फिक (समरूपी) एन्क्रिप्शन के माध्यम से गोपनीयता को एन्क्रिप्ट किया जाता है। एक समरूपता एक बीजगणितीय संरचना से समान प्रकार के दूसरे में परिवर्तन है ताकि संरचना संरक्षित रहे। महत्वपूर्ण रूप से, इसका तात्पर्य यह है कि मूल डेटा के प्रत्येक प्रकार के प्रकलन के लिए, रूपांतरित डेटा का एक समान प्रकलन होता है।

तकनीक
होमोमॉर्फिक गुप्त साझाकरण का उपयोग कई प्राप्तकर्ताओं को एक गोपनीयता प्रसारित करने के लिए किया जाता है:
 * 1) एक समरूपता का उपयोग करके गोपनीयता को रूपांतरित करें। यह प्रायः गोपनीयता को एक ऐसे रूप में रखता है जिसे प्रकलन करना या संग्रहित करना आसान होता है। विशेष रूप से, चरण (2) द्वारा आवश्यक नए रूप को 'विभाजित' करने का एक स्वाभाविक तरीका हो सकता है।
 * 2) प्रत्येक प्राप्तकर्ता के लिए रूपांतरित रहस्य को कई भागों में विभाजित करें। गोपनीयता को इस तरह से विभाजित किया जाना चाहिए कि इसे केवल तभी पुनर्प्राप्त किया जा सके जब सभी या अधिकांश भाग (गुप्त साझाकरण देखें।) संयुक्त हों।
 * 3) प्राप्तकर्ताओं में से प्रत्येक को गोपनीयता के भागों को वितरित करें।
 * 4) परिवर्तित गोपनीयता को पुनर्प्राप्त करने के लिए प्राप्तकर्ताओं प्रत्येक भाग को एक निर्दिष्ट समय पर संयोजित करें।
 * 5) मूल गोपनीयता को पुनर्प्राप्त करने के लिए समरूपता को प्रतिवर्त कर दें।

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

विस्तार से, मान लीजिए कि हमारे पास एक चुनाव है:
 * दो संभावित परिणाम, या तो हाँ या नहीं है। हम उन परिणामों को क्रमशः +1 और -1 द्वारा संख्यात्मक रूप से प्रदर्शित करेंगे।
 * कई अधिकारी k जो वोटों की गिनती करेंगे।
 * कई मतदाता n, जो वोट निवेदित करेंगे।


 * 1) अग्रिम में, प्रत्येक प्राधिकरण सार्वजनिक रूप से उपलब्ध संख्यात्मक कुंजी xk उत्पन्न करता है।
 * 2) प्रत्येक मतदाता निम्नलिखित नियमों के अनुसार एक बहुपद pn में अपना वोट कूटबद्ध करता है: बहुपद की डिग्री k - 1 होनी चाहिए, इसकी निरंतर अवधि या तो +1 या -1 होनी चाहिए (वोटिंग हां या वोटिंग नहीं के अनुरूप) और इसके अन्य गुणांक यादृच्छिक रूप से उत्पन्न होने चाहिए।
 * 3) प्रत्येक मतदाता अपने बहुपद pn प्रत्येक प्राधिकरण की सार्वजनिक कुंजी xk के मान की गणना करता है
 * 4) * यह प्रत्येक प्राधिकरण के लिए k अंक एक बनाता है।
 * 5) * ये k बिंदु वोट के "भाग" हैं: यदि आप सभी बिंदुओं को जानते हैं, तो आप बहुपद pn का पता लगा सकते हैं और इसलिए आप यह पता लगा सकते हैं कि मतदाता ने कैसे वोट किया। हालाँकि, यदि आप केवल कुछ बिंदुओं को जानते हैं, तो आप बहुपद का पता नहीं लगा सकते। ऐसा इसलिए है क्योंकि डिग्री-(n − 1) बहुपद निर्धारित करने के लिए आपको n बिंदुओं की आवश्यकता है। दो बिंदु एक रेखा निर्धारित करते हैं, तीन बिंदु एक परवलय आदि निर्धारित करते हैं।
 * 6) मतदाता प्रत्येक प्राधिकारी को वह मान भेजता है जो प्राधिकरण की कुंजी का उपयोग करके उत्पादित किया गया था।
 * 7) प्रत्येक प्राधिकरण उन मानो को निवेदित करता है जो उसे प्राप्त होते हैं। चूंकि प्रत्येक प्राधिकरण प्रत्येक मतदाता से केवल एक मान प्राप्त करता है, वह किसी दिए गए मतदाता के बहुपद की खोज नहीं कर सकता है। इसके अतिरिक्त, वह भविष्यवाणी नहीं कर सकता कि प्रस्तुतियाँ बदलने से वोट कैसे प्रभावित होगा।
 * 8) एक बार जब मतदाता अपना वोट निवेदित कर देते हैं, तो प्रत्येक प्राधिकरण Ak उसके द्वारा प्राप्त किए गए सभी मानो के योग की गणना करता है और घोषणा करता है।
 * 9) k का योग Ak हैं जब उन्हें एक साथ जोड़ा जाता है, तो वे एक अद्वितीय बहुपद P(x) निर्धारित करते हैं - विशेष रूप से, सभी मतदाता बहुपदों का P(x) = p1(x) + p2(x) + ... + pn(x) योग होता है।
 * 10) * P(x) की निरंतर अवधि वास्तव में सभी मतों का योग है, क्योंकि P(x) की निरंतर अवधि व्यक्तिगत pn की निरंतर शर्तों का योग है
 * 11) * इस प्रकार P(x) की निरंतर अवधि कुल चुनाव परिणाम प्रदान करती है: यदि यह सकारात्मक है, तो अधिक लोगों ने -1 की तुलना में +1 के लिए मतदान किया; यदि यह नकारात्मक है, तो अधिक लोगों ने +1 की तुलना में -1 को वोट दिया है।



सुविधाएँ
यह प्रोटोकॉल तब तक काम करता है जब तक कि सभी k प्राधिकरण भ्रष्ट नहीं हैं - यदि वे होते तो वे प्रत्येक मतदाता के लिए P(x) के पुनर्निर्माण में सहयोग कर सकते थे और बाद में वोटों को बदल भी सकते थे।

प्रोटोकॉल को पूरा करने के लिए t + 1 प्राधिकरणों की आवश्यकता होती है, इसलिए N > t + 1 प्राधिकरण होने की स्थिति में, N − t − 1 प्राधिकरण विकृत हो सकते हैं, जो प्रोटोकॉल को अधिकांश सीमा तक बाध्य करता है।

प्रोटोकॉल मतदाताओं की आईडी का प्रबंधन करता है (आईडी मतपत्रों के साथ निवेदित की गई थी) और इसलिए यह सत्यापित कर सकता है कि केवल वैध मतदाताओं ने मतदान किया है।

t पर अवधारणाओ के अंतर्गत:
 * 1) मतपत्र को आईडी पर वापस नहीं भेजा जा सकता है, इसलिए मतदाताओं की गोपनीयता संरक्षित है।
 * 2) मतदाता यह प्रमाणित नहीं कर सकता कि उसने कैसे मतदान किया।
 * 3) वोट सत्यापित करना असंभव है।

क्रिप्टोग्राफिक प्रोटोकॉल स्पष्ट रूप से मतपत्रों के भ्रष्टाचार को रोकता है। ऐसा इसलिए है क्योंकि अधिकारियों के पास मतपत्र को बदलने के लिए कोई प्रोत्साहन नहीं है क्योंकि प्रत्येक प्राधिकरण के पास मतपत्र का केवल एक भाग होता है और उन्हें यह नहीं पता होता है कि इस भाग को बदलने से परिणाम कैसे प्रभावित होगा।

आलोचनीयता

 * मतदाता निश्चित नहीं हो सकता कि उसका मत सही रिकॉर्ड किया गया है।
 * अधिकारी यह सुनिश्चित नहीं कर सकते कि वोट वैध और बराबर थे, उदाहरण के लिए मतदाता एक मान चयन कर सकता है जो एक वैध विकल्प नहीं है (अर्थात नहीं $\{−1, 1\}$) जैसे -20, 50, जो परिणामों को उनके पक्ष में जाएगा।

यह भी देखें

 * एंड-टू-एंड ऑडिटेबल (लेखापरीक्षा योग्य) वोटिंग प्रणाली
 * इलेक्ट्रॉनिक मतदान
 * मतदान मशीनों का प्रमाणन
 * चुनाव प्रवंचना को रोकना: इलेक्ट्रॉनिक वोटिंग का परीक्षण और प्रमाणन
 * मतगणना प्रणाली
 * E-लोकतंत्र
 * सुरक्षित बहुदलीय संगणना
 * मानसिक निर्विकार