क्या Arduino HRNG (हार्डवेयर रैंडम नंबर जनरेटर) बनाने के लिए आदर्श है?


21

मैं एक हार्डवेयर रैंडम नंबर जनरेटर के लिए एक डिज़ाइन डाल रहा हूं जो एन्ट्रापी ( संयुक्त ) के कई स्रोतों का उपयोग करेगा :

  • परिवेश प्रकाश
  • परिवेशी ध्वनि (और ध्वनि स्तर)
  • व्यापक तापमान
  • परिवेश आर्द्रता
  • डिवाइस की स्थिति खुद (उल्टा, बाईं ओर झुका हुआ, सही शीर्षक, आदि)
  • भविष्य में अन्य स्रोत, संभवतः जीपीएस डेटा भी (संभव है क्योंकि दो उपयोगकर्ता एक-दूसरे के बगल में खड़े हो सकते हैं, इसलिए संभवतः नियतात्मक हैं यदि आप उन्हें जानते हैं।)

मेरा विचार एक एंट्रॉपी पूल 'रिचार्ज' बनाना है जो लोग अपने दिन के दौरान अपने साथ ले जा सकते हैं जबकि यह एक यूएसबी ड्राइव पर लिखना जारी रखता है।

कुछ घंटों के बाद, उपयोगकर्ता के पास एक अच्छा ~ 4 जीबी एन्ट्रापी पूल होगा जिसे पीसी में प्लग किया जा सकता है और इसका उपयोग किया जा सकता है। मैं प्रकाश या रेडियोधर्मी क्षय के आधार पर वास्तव में महंगा QRNG बर्दाश्त नहीं कर सकता, इसलिए मैं कुछ सस्ता करने की कोशिश कर रहा हूं।

आपकी राय में, क्या Arduino इस प्रोटोटाइप के लिए सबसे अच्छा विकल्प है? यदि नहीं, तो आप क्या सलाह देंगे?

जवाबों:


22

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

अधिकांश पर्यावरणीय / परिवेशीय डेटा के साथ समस्या यह है कि समय के साथ इतना अधिक परिवर्तन नहीं होता है: तापमान, आर्द्रता, प्रकाश और ध्वनि सभी वास्तव में मजबूत मोड के साथ परिवर्तनशीलता के एक आदेश से कम है। गति को मापने के लिए एक्सेलेरोमीटर यदि किसी व्यक्ति पर आरूढ़ होता है तो परिवर्तनशीलता का एक अच्छा स्रोत हो सकता है, लेकिन संभावना है कि दोलन के सामान्य तरीकों को हटाने के लिए आपको सिग्नल प्रोसेसिंग का थोड़ा सा काम करना होगा जो कि मनुष्यों की चाल में मौजूद हैं। यदि उच्च-घनत्व वाले शहरी स्थान में रखा जाए तो एक परिवेश प्रकाश और ध्वनि स्रोत में कुछ उच्च परिवर्तनशीलता हो सकती है, लेकिन फिर से मुझे लगता है कि बहुत अधिक पुनरावृत्ति होगी।


8

HRNG के लिए परिवेशी एंट्रोपी स्रोतों की आवश्यकता के बिना कुछ दिलचस्प सर्किट हैं: http://www.cryogenius.com/hardware/rng/ http://robseward.com/itp/adv_tech/random_generator/ और ...

इन सर्किटों में से किसी एक को Arduino ढाल में रूपांतरित करना निश्चित रूप से संभव है । Arduino तब HRNG और एक PC के बीच एक प्रवेश द्वार के रूप में कार्य करेगा।

यदि आपको वास्तव में परिवेश एंट्रॉपी इनपुट की आवश्यकता है, तो arduino में 6 एनालॉग इनपुट चैनल हैं, ताकि आप लगभग किसी भी सेंसर को पढ़ सकें जो आप एक यादृच्छिक बीज के लिए स्रोत के रूप में डेटा के बारे में सोच और उपयोग कर सकते हैं


6

दो टिप्पणियाँ:

  1. ब्रूस श्नीयर के यारो PRNG एल्गोरिदम में देखें। मुख्य बिंदु यह है कि आपके पास "सच" यादृच्छिक जानकारी का एक बहुत ही घटिया स्रोत हो सकता है; जब तक आप समय के साथ इसे पर्याप्त रूप से जमा करते हैं, तब तक परिणामी अनिश्चितता को सभ्य यादृच्छिक संख्या प्राप्त करने के लिए सॉफ्टवेयर छद्म यादृच्छिक संख्या पीढ़ी तकनीकों के साथ जोड़ा जा सकता है।

  2. दूसरी ओर, मुझे अधिकांश अन्य उत्तरदाताओं से सहमत होना होगा। पर्यावरण सेंसर से धीरे-धीरे बदलते संकेत एंट्रोपी के घटिया स्रोत हैं, और आसानी से प्रभावित हो सकते हैं। सुनिश्चित करें कि आप कुछ का उपयोग करते हैं जो आंतरिक डिवाइस शोर पर आधारित है, और यह पर्यावरणीय परिवर्तनों के प्रति असंवेदनशील होगा।


6

क्या आप "USB Hourglass रैंडम नंबर जनरेटर" की बात कर रहे हैं ?
दाविदरी

हाँ वही था। मूल लिंक कॉमकास्ट पर इसके 'होम पेज' पर था जो अब नहीं है। धन्यवाद। अब लिंक फिक्स्ड।
आमोस

3

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

Arduino इस एप्लिकेशन के लिए ठीक है। आपके द्वारा रुचि रखने वाले सभी सेंसर Arduino से जुड़े हो सकते हैं और उन सेंसर के लिए Arduino लाइब्रेरी उपलब्ध हैं।

Arduino को सेंसर जोड़ने पर इन ट्यूटोरियल की जाँच करें: http://www.ladyada.net/learn/sensors/


3

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

https://www.sparkfun.com/commerce/tutorial_info.php?tutorials_id=132


यह दिलचस्प लग रहा है।
एमोस

3

एनालॉग संगीत सिंथेसाइज़र (Moog और Arp) में सफेद शोर जनरेटर की एक संख्या एक ट्रांजिस्टर को हिमस्खलन करेगी। यदि आप मिनिमोग योजनाबद्ध या ARP4027 के लिए ऑनलाइन क्वेरी करते हैं, तो आपको स्कीमैटिक ढूंढना चाहिए।

मैंने ARP4027 के लिए एक पीसीबी लेआउट किया। यदि आप योजनाबद्ध नहीं पा सकते हैं तो मुझे एक ईमेल भेजें।

नेशनल ने डिजिटल रैंडम नंबर जनरेटर - MM5437 बनाया था। IIRC एक एटी-छोटे के लिए कुछ कार्यक्रम थे जो यह भी करेंगे। एक मजेदार छोटी परियोजना हो सकती है।


2

मैंने हाल ही में यादृच्छिक शोर उत्पन्न करने के लिए प्रतिरोधों का उपयोग करने की एक बहुत ही दिलचस्प चर्चा पढ़ी है। क्वांटम प्रभावों के कारण, एक रोकनेवाला बहुत छोटा वोल्टेज उत्पन्न करेगा। यह यादृच्छिक शोर के एक उच्च गुणवत्ता वाले स्रोत का उत्पादन करने के लिए एक ऑप-एम्प के साथ प्रवर्धित किया जा सकता है।


2

आप सेंसर इनपुट को बीज के रूप में एक छद्म यादृच्छिक संख्या जनरेटर के लिए उपयोग कर सकते हैं। लिनक्स ओएस कीबोर्ड / माउस से बीज के रूप में / देव / यादृच्छिक पर इनपुट का उपयोग करता है। एक विचार है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.