একটি ট্রু র্যান্ডম নম্বর জেনারেটর (টিআরএনজি) একটি নন-ডিটারমিনিস্টিক উৎস ব্যবহার করে র্যান্ডমনেস তৈরি করে। অধিকাংশ অস্থির প্রাকৃতিক প্রক্রিয়া মাপে কাজ করে, যেমন আয়নিজিং রেডিয়েশন আকার্তির পালস ডিটেক্টর, গ্যাস ডিসচার্জ টিউব, এবং লিকি ক্যাপাসিটর।
ইন্টেল একটি কমার্শিয়ালি উপলব্ধ চিপ তৈরি করেছে যা থার্মাল নয়েজ নমুনা করে অনচালিত রেজিস্টার জুড়ে ভোল্টেজ মাপে। টিআরএনজি একটি ট্রু র্যান্ডম নম্বর তৈরি করে এবং সাধারণত হার্ডওয়্যার পদ্ধতিতে তৈরি হয়।
কারণ টিআরএনজি দ্বারা তৈরি র্যান্ডম নম্বর পূর্বাভাস করা কঠিন কারণ টিআরএনজি একটি ফিজিক্যাল উৎসের উপর ভিত্তি করে তৈরি হয় যা একটি র্যান্ডম মান পূর্বাভাস করা কঠিন। অতএব, টিআরএনজি থেকে তৈরি র্যান্ডম নম্বর একটি নিরাপদ পদ্ধতি কারণ একই মান তৈরি করা কঠিন।
নিচে র্যান্ডমনেসের সম্ভাব্য উৎসগুলো দেওয়া হলো যা যত্নসহ কম্পিউটারে ব্যবহার করা যায় ট্রু র্যান্ডম সিকোয়েন্স তৈরি করতে।
সাউন্ড/ভিডিও ইনপুট
অনেক কম্পিউটার রিয়েল-ওয়ার্ল্ড аналগ উৎস ডিজিটাইজ করার ইনপুট নিয়ে তৈরি হয়, যেমন মাইক্রোফোন থেকে সাউন্ড বা ক্যামেরা থেকে ভিডিও ইনপুট।
একটি সাউন্ড ডিজিটাইজারের "ইনপুট" কোনো আউটপুট না থাকা বা লেন্স ক্যাপ থাকা ক্যামেরার কাছ থেকে মূলত থার্মাল নয়েজ। যদি সিস্টেমে কিছু ডিটেক্ট করার পর্যাপ্ত গেইন থাকে, এমন ইনপুট যুক্তিসঙ্গত উচ্চ গুণবত্তার র্যান্ডম বিট প্রদান করতে পারে।
ডিস্ক ড্রাইভ
ডিস্ক ড্রাইভদের রোটেশনাল স্পীডে ক্যঅটিক এয়ার টার্বুলেন্সের কারণে ছোট র্যান্ডম ফ্লাকচুয়েশন থাকতে পারে। লো-লেভেল ডিস্ক সিক-টাইম ইনস্ট্রুমেন্টেশন এর 확장으로 এই র্যান্ডমনেস সহ একটি মাপের সিকোয়েন্স তৈরি হয়।
এই ডেটা সাধারণত উচ্চতর করিলেটেড, তাই উল্লেখযোগ্য প্রসেসিং প্রয়োজন। তবুও, দশক আগের পরীক্ষা দেখিয়েছে যে, এমন প্রসেসিং সহ, সেই দিনের ধীর কম্পিউটারগুলোর ধীর ডিস্ক ড্রাইভও সহজে ১০০ বিট প্রতি মিনিট বা তার বেশি উন্নত র্যান্ডম তথ্য তৈরি করতে পারে।
একটি টিআরএনজি আউটপুট তৈরি করতে পারে যা কিছুভাবে বায়াসড, যেমন শূন্যের চেয়ে বেশি এক বা তার বিপরীত। একটি বিট স্ট্রিম থেকে বায়াস কমাতে বা সরানোর বিভিন্ন পদ্ধতি বিকশিত করা হয়েছে। এগুলো ডি-স্কিউইং অ্যালগরিদম হিসেবে পরিচিত।
বায়াস দূর করার একটি পদ্ধতি হলো বিট স্ট্রিমকে একটি হ্যাশ ফাংশনের মাধ্যমে পাস করা। হ্যাশ ফাংশন একটি ইচ্ছামতো দৈর্ঘ্যের ইনপুট থেকে n-বিট আউটপুট তৈরি করে। ডি-স্কিউইংর জন্য, m ≥ n থাকলে m ইনপুট বিটের ব্লকগুলো হ্যাশ ফাংশনের মাধ্যমে স্বীকৃত হয়।
টিআরএনজি খুব ধীর এবং জটিল, তাই সুডো র্যান্ডম নম্বর জেনারেটর (ফর্মুলা) প্রচুর পরিমাণে উপলব্ধ। টিআরএনজি ফিজিক্যাল বা নন-ফিজিক্যাল নয়েজ উৎস ব্যবহার করতে পারে।
লজিক ডিভাইসে, ফিজিক্যাল নয়েজ উৎস সম্পূর্ণ সীমিত, কারণ লজিক ডিভাইসগুলো সবসময় একটি স্পষ্ট স্টেটে থাকা উচিত। র্যান্ডম নম্বর তৈরি করতে, একটি অনियন্ত্রিত র্যান্ডম ঘটনা প্রয়োজন।
লজিক ডিভাইসে র্যান্ডম নম্বর তৈরি করতে ব্যবহৃত ফিজিক্যাল ঘটনা নিচে দেওয়া হলো:
- ক্লক জিটার - এটি ক্লক এজের একটি পরিবর্তন তার আদর্শ অবস্থান থেকে।
- মেটাস্ট্যাবিলিটি - এটি একটি সার্কিটের ক্ষমতা অনিশ্চিত পরিমাণের জন্য অসীম স্টেটে বने रहने की।
- কাওস - এটি একটি ডিটারমিনিস্টিক সিস্টেমের অননুমানযোগ্য আচরণ, যা তার প্রাথমিক শর্তের प्रति অত্যধিক সংবেদনশীল।
- অ্যানালগ সিগন্যাল - এতে ডায়োডের শট নয়েজ, থার্মাল নয়েজ, ইত্যাদি অন্তর্ভুক্ত।