2008-10-22 15 views
12

मैं सोच रहा था कि एन प्रतिभागियों के नेटवर्क के लिए एक तरीका है कि यह मानने के लिए कि 1 से एम तक की संख्या यादृच्छिक रूप से चुनी गई थी। (उदाहरण के लिए किसी भी प्रतिभागियों से प्रभावित नहीं) यह coin tossing protocol द्वारा एन = 2 और एम = 2 के मानों के लिए हल किया गया है। क्या किसी को ऐसे समाधानों के बारे में पता है जो एन और एम के मनमाना मूल्यों के लिए काम कर सकते हैं?वितरित रैंडम नंबर जनरेशन

उत्तर

14

संपादित

बेहतर एल्गोरिथ्म (धन्यवाद wnoise):

  1. हर कोई 0 से एक गुप्त संख्या उठाता एम -1
  2. हर कोई उनकी संख्या और हैश के लिए यादृच्छिक gunk के एक लोड संलग्न कर देता है एक सुरक्षित हैश
  3. हर कोई हर किसी को बताता है कि यह हैश
  4. हर कोई हर किसी को अपना रहस्य बताता है संख्या, प्लस यादृच्छिक gunk वे इसके परिशिष्ट
  5. हर कोई पुष्टि करता है कि संख्या और हैश + gunk मैच
  6. सभी गुप्त संख्याओं को एक साथ जोड़े एम सापेक्ष है, तो 1 कहते हैं अंतिम परिणाम

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

3 एम^2 से संदेशों को कम करने का कोई तरीका जो मुझे प्रसारण दृष्टिकोण पर संदेह है?

मुझे लगता है कि केवल हैश प्रकाशन को प्रसारण होना है, लेकिन यह अभी भी ओ (एम^2) है। मुझे लगता है कि इसके आसपास एकमात्र तरीका डिजिटल हस्ताक्षर कुंजी का पूर्व-विनिमय करना होगा, या एक विश्वसनीय संचार केंद्र होना होगा।

संपादित 2 - हैशिंग चीज़ कितनी सुरक्षित है?

संभावित हमलों में शामिल हैं:

  1. तो मैं एक ही हैश के साथ दो गुप्त नंबर हैं मैं एक हैश टकराव उत्पन्न कर सकते हैं। तो एक बार जब मैं हर किसी के गुप्त नंबरों को जानता हूं तो मैं चुन सकता हूं कि मेरे कौन से गुप्त नंबर प्रकट होंगे, इस प्रकार दो संभावित परिणामों में से एक का चयन करें।
  2. यदि मैं एक पीआरएनजी का उपयोग करके अपना गुप्त नंबर और यादृच्छिक गंक उत्पन्न करता हूं, तो मेरे हैश को बलपूर्वक बल देने की कोशिश करने वाले हमलावर को हर संभव संख्या + गंक, पीआरएनजी के लिए केवल हर संभव बीज का प्रयास करने की आवश्यकता नहीं है।
  3. मैं संख्या + गंक का उपयोग करता हूं जो हर कोई अपने पीआरएनजी के बारे में जानकारी निर्धारित करने के लिए खुलासा करता है - मैं बीज को अनुमान लगाने या क्रूर करने की कोशिश कर सकता हूं, या आउटपुट से आंतरिक स्थिति की गणना कर सकता हूं। यह मुझे भविष्यवाणी करने में मदद करता है कि वे अगली बार किस संख्या में उत्पन्न होंगे, जो एक क्रूर बल के हमले के लिए खोज स्थान को संकुचित करता है।

इसलिए, आप

  1. एक विश्वसनीय, अखंड हैशिंग एल्गोरिथ्म का उपयोग करना चाहिए।
  2. क्रिप्टोग्राफ़िक रूप से सुरक्षित यादृच्छिक संख्या जेनरेटर का उपयोग करें जिसमें एक बड़ा बीज/राज्य है, और इसे एन्ट्रॉपी के अच्छे स्रोत से बीज करने का प्रयास करें।
    एक नेता का चयन करें, नेता संख्या चुन सकते हैं, हर किसी के लिए नंबर वितरित -
+0

चेतावनी: एक सुरक्षित हैशिंग एल्गोरिदम चुनें! मुझे लगता है कि एमडी 5, उदाहरण के लिए, टूटा गया है, लेकिन यह डेटा की इतनी छोटी मात्रा के लिए तोड़ा नहीं जा सकता है। – Claudiu

+0

भी, क्या यह xored संख्या व्यक्तिगत के रूप में यादृच्छिक होगी? वृत्ति मुझे हां बताती है, शायद, लेकिन मुझे पूरी तरह से यकीन नहीं है कि यह कुछ अनैतिकता प्रदर्शित करेगा। – Claudiu

+0

देखें http://en.wikipedia.org/wiki/Commitment_scheme – CesarB

0

यह शायद आप क्या देख रहे हैं, लेकिन अभी इस सूत्र कैसे इस बारे में शुरू करने के लिए नहीं है।

+0

यह प्रभावी रूप से एल्गोरिदम का पुन: केंद्रीकरण है। समस्या प्रतिभागियों के बीच किसी भी विश्वास का अनुमान लगाए बिना संख्या प्राप्त करना है। –

1

मुझे नहीं पता कि लोगों के लिए एक ही संख्या की यादृच्छिकता पर सहमत होना संभव है; यह आंकड़ों में होना चाहिए। यदि कई यादृच्छिक संख्याओं के आंकड़े here से ली गई संख्याओं के आंकड़ों से मेल खाते हैं तो मैं आपके नंबर को यादृच्छिक मानता हूं, लेकिन मुझे नेटवर्क पर अगले व्यक्ति एन + 1 के बारे में पता नहीं है।

+0

सहमत हैं, एक नंबर कभी "यादृच्छिक" नहीं है। शायद सवाल पूछने वाला यह स्पष्ट कर सकता है कि उसका मतलब है कि प्रतिभागियों का मानना ​​है कि हर किसी ने अपना स्वयं का नंबर चुना है? –

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