2009-11-12 12 views
12

तो कहें कि मैं एक फ़ाइल एन्क्रिप्ट करना चाहता हूं और एकमात्र तरीका जिसे मैं पढ़ना चाहता हूं वह यह है कि यदि दो अलग-अलग लोग अपनी चाबियाँ दर्ज करते हैं। इसलिए, उदाहरण के लिए चार कुंजी हैं:कुछ एन्क्रिप्ट कैसे करें ताकि किसी भी तीन में से दो चाबियों का उपयोग करके डिक्रिप्ट किया जा सके?

key1, key2, key3, key4।

अगर मैं कुंजी 1 के साथ एन्क्रिप्ट उसके बाद निम्न संयोजन यह decypt देगा:

  • कुंजी 2, key3
  • key3, key4
  • कुंजी 2, key4

एक का उपयोग करना संभव है मानक विधि?

+0

इसी तरह, लेकिन डुप्लिकेट नहीं, प्रश्न: http://stackoverflow.com/questions/597188/encryption-with-multiple- अलग-अलग –

+3

जो आप वर्णन कर रहे हैं वह थ्रेसहोल्ड क्रिप्टोग्राफी है। देखें: http://en.wikipedia.org/wiki/Threshold_cryptosystem – Zarel

+1

अफसोस की बात है, मुझे विकिपीडिया या Google पर कोई कार्यान्वयन नहीं मिल रहा है। – Zarel

उत्तर

14

एक अनूठा सामग्री कुंजी संदेश एन्क्रिप्ट करने के लिए (यह कई संदेश एन्क्रिप्शन मानकों के लिए आम है) तैयार करें, फिर एक erasure code योजना जैसे Reed-Solomon coding कि सामग्री पर्याप्त अतिरिक्त यादृच्छिक डेटा के साथ concatenated कुंजी के खिलाफ सुनिश्चित करने के लिए लागू होते हैं कि किसी भी मीटरएन कुंजी के "shards" को अंतिम कुंजी बनाने के लिए एक साथ रखा जा सकता है। शर्ड्स केवल यादृच्छिक डेटा भाग से दिए गए हैं ताकि दिए गए किसी भी शर्ट में सामग्री कुंजी से वास्तविक बिट्स न हों। इस तरह, एम से कम एकत्रित शॉर्ट्स की कोई भी संख्या कुंजी के बारे में कोई उपयोगी जानकारी नहीं देती है।

संपादित करें: रीड-सोलोमन कुंजी शर्ड्स उत्पन्न करने के लिए Shamir's secret-sharing जैसा दिखता है, जो पहली बार 1 9 7 9 में प्रकाशित हुआ था; लेख को इंगित करने के लिए @ कैफ के लिए धन्यवाद।

+0

शमीर की गुप्त-साझाकरण योजना के जीपीएल-लाइसेंस प्राप्त कार्यान्वयन के साथ-साथ: http://point-at-infinity.org/ssss/ देखें – intgr

0

चौथे कुंजी अन्य तीन की बिटवाइज़ चेकसम बनाने ... तुम भी क्रमिक रूप से वेतन वृद्धि जो कुंजी चेकसम मान था .. सकता है ताकि

  1. कुंजी 4 बिट 1 में थोड़ा 1 की चेकसम था चाबियाँ 1-3, और
  2. कुंजी 1 बिट 2 चाबियाँ 2-4 में बिट 2 की चेकसम था, और
  3. कुंजी 2 बिट 3 चाबियाँ 1,3,4 में बिट 3 की चेकसम था, और
  4. कुंजी 3 बिट 4 कुंजी 4 बिट्स में बिट 4 का चेकसम था, और
  5. कुंजी 4 बिट 5 जो तीन चाबियाँ 1,2,3, आदि में बिट 5 चेकसम ...

धारीदार छापे 5 की तरह थोड़े है ...

इस तरह, कोई फर्क नहीं पड़ता था आपके पास चार चाबियाँ थीं, आप लापता एक को फिर से बना सकते हैं। संदेश को एन्क्रिप्ट करने के लिए सभी चार कुंजियों के कुछ संयोजन का उपयोग करें।

2

आप कुंजी x1, x2, .. बताए रहे XN

एन्क्रिप्ट एक मास्टर सममित कुंजी एम साथ फ़ाइल कहो। तब एम के कई एन्क्रिप्टेड प्रतियां की दुकान:

  • x1 और x2
  • x2 और x3 साथ एन्क्रिप्टेड
  • x1 और x3
  • साथ एन्क्रिप्टेड ...

किसी के साथ एन्क्रिप्टेड दो कुंजी मास्टर की एन्क्रिप्टेड प्रतियों में से एक को अनलॉक कर देंगे, जो फ़ाइल को डिक्रिप्ट करेगा।

+0

यह मानता है कि प्रत्येक एन्क्रिप्टर में सभी चाबियाँ होती हैं। आपको सार्वजनिक कुंजी क्रिप्टो जोड़ने की आवश्यकता है। – Grumdrig

+0

आप Grumdrig के बारे में क्या बात कर रहे हैं? मुझे यकीन नहीं कि मैं समझा हूँ। – Zarel

+1

यह बड़ी संख्या में चाबियों के लिए संयोजक रूप से विस्फोट करता है: आपको n!/M! (N-m) की आवश्यकता है! ऐसी सरल योजना के साथ प्रतियां! –

1

जैसा कि आप इसे बताते हैं, मुझे नहीं लगता। लेकिन आप इस तरह के समान प्रभाव प्राप्त कर सकते हैं: सार्वजनिक कुंजी क्रिप्टो का उपयोग करें; अब 4 सार्वजनिक और 4 निजी कुंजी हैं। व्यक्ति # 1 के रूप में, अन्य संदेश के प्रत्येक जोड़ी संयोजन के साथ अपना संदेश एन्क्रिप्ट करें 3. उदा। कुंजी 2 के साथ संदेश एन्क्रिप्ट करें, फिर कुंजी के साथ एन्क्रिप्ट करें 3. अब कुंजी को कुंजी 2 से एन्क्रिप्ट करें, फिर कुंजी 4 के साथ एन्क्रिप्ट करें। अंत में, 3 फिर 4. अब यदि कोई भी दो अन्य साथ मिल जाए तो वे मूल संदेश पुनर्प्राप्त कर सकते हैं ।

4

यादृच्छिक रूप से एक सममित कुंजी कुंजी 1 उत्पन्न करें और डेटा को एन्क्रिप्ट करने के लिए इसका उपयोग करें, फिर Shamir's Secret Sharing protocol का उपयोग करके key1 से key2, key3 और key4 उत्पन्न करें।

कुंजी 2, key3 और key4 को सुरक्षित रूप से वितरित करने के लिए आप प्राप्तकर्ताओं की सार्वजनिक कुंजी का उपयोग करके उन्हें एन्क्रिप्ट करने के लिए सार्वजनिक कुंजी एल्गोरिदम का उपयोग कर सकते हैं।

संबंधित मुद्दे

 संबंधित मुद्दे