مولد الأرقام العشوائية (RNG) هو جهاز يولد سلسلة من الأرقام أو الرموز التي لا يمكن التنبؤ بها بشكل أفضل من فرصة عشوائية. يمكن أن تكون مولدات الأرقام العشوائية مولدات أرقام عشوائية حقيقية للأجهزة (HRNG) ، والتي تولد أرقامًا عشوائية حقًا ، أو مولدات أرقام عشوائية زائفة (PRNG) ، والتي تولد أرقامًا تبدو عشوائية ، ولكنها حتمية في الواقع ، ويمكن استنساخها إذا كانت الحالة من PRNG معروف.
أدت التطبيقات المختلفة للعشوائية إلى تطوير العديد من الطرق المختلفة لتوليد البيانات العشوائية ، والتي كان بعضها موجودًا منذ العصور القديمة ، ومن بينها الرتب أمثلة “كلاسيكية” معروفة ، بما في ذلك رمي النرد ، وتقليب العملة ، والتبديل العشوائي من أوراق اللعب ، واستخدام سيقان يارو (للعرافة) في I Ching ، بالإضافة إلى عدد لا يحصى من التقنيات الأخرى. بسبب الطبيعة الميكانيكية لهذه التقنيات مثل مكائن الرهان ، فإن توليد كميات كبيرة من الأرقام العشوائية بما فيه الكفاية (مهم في الإحصائيات) يتطلب الكثير من العمل و / أو الوقت. وبالتالي ، يتم في بعض الأحيان جمع النتائج وتوزيعها كجداول أرقام عشوائية.
توجد العديد من الطرق الحسابية لتوليد الأرقام العشوائية الزائفة. جميعها لا ترقى إلى هدف العشوائية الحقيقية ، على الرغم من أنها قد تلبي ، مع نجاح متفاوت ، بعض الاختبارات الإحصائية للعشوائية التي تهدف إلى قياس مدى عدم إمكانية التنبؤ بنتائجها (أي إلى أي درجة يمكن تمييز أنماطها). هذا يجعلها بشكل عام غير قابلة للاستخدام لتطبيقات مثل التشفير. ومع ذلك ، توجد أيضًا مولدات أرقام عشوائية زائفة ومصممة بعناية مشفرة (CSPRNG) ، مع ميزات خاصة مصممة خصيصًا للاستخدام في التشفير.