توليد الأرقام العشوائية

توليد الأرقام العشوائية هو عملية يتم من خلالها، غالبًا باستخدام مولد أرقام عشوائية ( RNG )، توليد سلسلة من الأرقام أو الرموز التي لا يمكن التنبؤ بها بدقة أفضل من التنبؤ العشوائي . هذا يعني أن سلسلة النتائج المحددة ستحتوي على بعض الأنماط التي يمكن اكتشافها لاحقًا ولكن من المستحيل التنبؤ بها مسبقًا. يمكن أن تكون مولدات الأرقام العشوائية الحقيقية مولدات أرقام عشوائية مادية (HRNGs)، حيث يكون كل توليد دالة للقيمة الحالية لخاصية في بيئة مادية تتغير باستمرار بطريقة يصعب عمليًا نمذجتها. وهذا يختلف عن ما يسمى بتوليد الأرقام العشوائية بواسطة مولدات الأرقام شبه العشوائية (PRNGs)، التي تولد أرقامًا شبه عشوائية محددة مسبقًا - يمكن إعادة إنتاج هذه الأرقام ببساطة عن طريق معرفة الحالة الأولية لمولد الأرقام شبه العشوائية والطريقة التي يستخدمها لتوليد الأرقام. [ 1 ] يوجد أيضًا نوع من مولدات الأرقام العشوائية الحقيقية غير المادية (NPTRNG) التي تُنتج أرقامًا عشوائية حقيقية دون الحاجة إلى مصدر أجهزة مخصص، وذلك عن طريق استغلال العشوائية الموجودة في نظام الحاسوب. [ 2 ] انظر التفاصيل في قسم الأرقام العشوائية الحقيقية مقابل الأرقام العشوائية الزائفة .
أدت التطبيقات المتنوعة للعشوائية إلى تطوير طرق مختلفة لتوليد البيانات العشوائية . بعض هذه الطرق موجود منذ العصور القديمة، ومنها أمثلة معروفة مثل رمي النرد ، وقلب العملة ، وخلط أوراق اللعب ، واستخدام سيقان نبات اليارو ( للتنبؤ ) في كتاب التغييرات ( الإي تشينغ ) ، بالإضافة إلى تقنيات أخرى لا حصر لها. ونظرًا للطبيعة الآلية لهذه التقنيات، فإن توليد كميات كبيرة من الأرقام العشوائية الكافية (وهي مهمة في الإحصاء) يتطلب جهدًا ووقتًا كبيرين. ولذلك، كانت النتائج تُجمع أحيانًا وتُوزع في جداول أرقام عشوائية .
توجد عدة طرق حسابية لتوليد الأرقام شبه العشوائية. جميعها لا ترقى إلى مستوى العشوائية الحقيقية، مع أنها قد تجتاز، بدرجات متفاوتة من النجاح، بعض الاختبارات الإحصائية للعشوائية المصممة لقياس مدى صعوبة التنبؤ بنتائجها (أي مدى إمكانية تمييز أنماطها). هذا يجعلها عمومًا غير قابلة للاستخدام في تطبيقات مثل التشفير . مع ذلك، توجد أيضًا مولدات أرقام شبه عشوائية آمنة تشفيريًا (CSPRNGS) مصممة بعناية ، بميزات خاصة مصممة خصيصًا للاستخدام في التشفير.
التطبيقات والاستخدامات العملية
تُستخدم مولدات الأرقام العشوائية في مجالاتٍ عديدة ، منها المقامرة ، والمعاينة الإحصائية ، والمحاكاة الحاسوبية ، والتشفير ، والتصميم العشوائي الكامل ، وغيرها من المجالات التي يُفضّل فيها الحصول على نتائج غير متوقعة. وبشكل عام، في التطبيقات التي تُعدّ فيها عدم القدرة على التنبؤ السمةَ الأساسية، كما هو الحال في التطبيقات الأمنية، يُفضّل استخدام مولدات الأرقام العشوائية المادية على خوارزميات الأرقام العشوائية الزائفة، كلما أمكن ذلك.
تُعدّ مولدات الأرقام شبه العشوائية مفيدة للغاية في تطوير محاكاة طريقة مونت كارلو ، إذ تُسهّل عملية تصحيح الأخطاء بفضل إمكانية تشغيل نفس سلسلة الأرقام العشوائية مرة أخرى بدءًا من نفس البذرة العشوائية . كما تُستخدم هذه المولدات في علم التشفير، شريطة أن تكون البذرة سرية. ويمكن للمرسل والمستقبل توليد نفس مجموعة الأرقام تلقائيًا لاستخدامها كمفاتيح.
يُعدّ توليد الأرقام شبه العشوائية مهمةً شائعةً وهامةً في برمجة الحاسوب. فبينما تتطلب التشفير وبعض الخوارزميات العددية درجةً عاليةً جدًا من العشوائية الظاهرة ، لا تحتاج العديد من العمليات الأخرى إلا إلى قدرٍ معقولٍ من عدم القدرة على التنبؤ. ومن الأمثلة البسيطة على ذلك عرض "اقتباس عشوائي لليوم" على المستخدم، أو تحديد اتجاه حركة الخصم الذي يتحكم به الحاسوب في لعبةٍ حاسوبية. وتُستخدم أشكالٌ أضعف من العشوائية في خوارزميات التجزئة وفي إنشاء خوارزميات البحث والفرز المُعدّلة .
بعض التطبيقات التي تبدو للوهلة الأولى مناسبة للتوزيع العشوائي ليست في الواقع بهذه البساطة. على سبيل المثال، يجب أن يبدو النظام الذي يختار مقاطع موسيقية "عشوائياً" لنظام موسيقى الخلفية عشوائياً فقط، بل وقد يتضمن طرقاً للتحكم في اختيار الموسيقى: فالنظام العشوائي الحقيقي لا يفرض أي قيود على ظهور العنصر نفسه مرتين أو ثلاث مرات متتالية.
الأرقام العشوائية الحقيقية مقابل الأرقام العشوائية الزائفة
تُستخدم طريقتان رئيسيتان لتوليد الأرقام العشوائية. تعتمد الطريقة الأولى على قياس ظاهرة فيزيائية يُتوقع أن تكون عشوائية، ثم تُعالج أي تحيزات محتملة في عملية القياس. تشمل الأمثلة على مصادر هذه الظاهرة قياس الضوضاء الجوية ، والضوضاء الحرارية، وغيرها من الظواهر الكهرومغناطيسية والكمية الخارجية. فعلى سبيل المثال، يُمثل إشعاع الخلفية الكونية أو الاضمحلال الإشعاعي، عند قياسهما على فترات زمنية قصيرة، مصادر للإنتروبيا الطبيعية (كمقياس لعدم القدرة على التنبؤ أو عنصر المفاجأة في عملية توليد الأرقام).
تعتمد سرعة الحصول على الإنتروبيا من المصادر الطبيعية على الظواهر الفيزيائية الأساسية التي يتم قياسها. ولذلك، يُقال إن مصادر الإنتروبيا الحقيقية الطبيعية تُسبب حجبًا ، أي أن معدل معالجتها محدود حتى يتم جمع كمية كافية من الإنتروبيا لتلبية الطلب. في بعض الأنظمة الشبيهة بنظام يونكس، بما في ذلك معظم توزيعات لينكس ، سيحجب ملف الجهاز الوهمي /dev/random حتى يتم جمع كمية كافية من الإنتروبيا من البيئة. [ 3 ] وبسبب هذا السلوك الحجب، قد تكون عمليات القراءة الكبيرة من /dev/random ، مثل ملء محرك الأقراص الصلبة ببتات عشوائية، بطيئة في كثير من الأحيان على الأنظمة التي تستخدم هذا النوع من مصادر الإنتروبيا.
تستخدم الطريقة الثانية خوارزميات حسابية قادرة على إنتاج سلاسل طويلة من النتائج التي تبدو عشوائية، ولكنها في الواقع محددة تمامًا بقيمة ابتدائية أقصر تُعرف بقيمة البذرة أو المفتاح . ونتيجة لذلك، يمكن إعادة إنتاج السلسلة العشوائية ظاهريًا بالكامل إذا عُرفت قيمة البذرة. يُطلق على هذا النوع من مولدات الأرقام العشوائية غالبًا اسم مولد الأرقام شبه العشوائية . لا يعتمد هذا النوع من المولدات عادةً على مصادر الإنتروبيا الطبيعية، على الرغم من إمكانية تغذيته دوريًا بمصادر طبيعية. هذا النوع من المولدات غير مانع، لذا فهو غير محدود المعدل بحدث خارجي، مما يجعل قراءة كميات كبيرة من البيانات أمرًا ممكنًا.
تعتمد التصاميم التشفيرية القياسية على نهج هجين، حيث تستخدم العشوائية المستمدة من مصادر طبيعية لتغذية مولدات الأرقام العشوائية الزائفة الآمنة تشفيرياً (CSPRNGs). تُنتج مولدات الأرقام العشوائية المادية عادةً عددًا محدودًا من البتات العشوائية في الثانية. ولزيادة معدل بيانات الإخراج المتاح، تُستخدم غالبًا لتوليد " البذرة " لمولد أرقام عشوائية زائفة أسرع. كما يُساعد مولد الأرقام العشوائية الزائفة في "إخفاء" مصدر الضوضاء (تبييض خصائص تعريف مصدر الضوضاء) واستخراج الإنتروبيا . باختيار خوارزمية مولد أرقام عشوائية زائفة مناسبة ( مولد أرقام عشوائية زائفة آمن تشفيرياً ، CSPRNG)، يُمكن لهذا المزيج تلبية متطلبات معايير معالجة المعلومات الفيدرالية ومعايير التقييم المشتركة . [ 4 ]
أساليب التوليد
الأساليب الفيزيائية
لا تزال أقدم الطرق لتوليد الأرقام العشوائية، مثل النرد وقلب العملة وعجلات الروليت، تستخدم حتى اليوم، وخاصة في الألعاب والمقامرة، لأنها تميل إلى أن تكون بطيئة للغاية بالنسبة لمعظم التطبيقات في الإحصاء والتشفير.

تُنتج العديد من الظواهر الطبيعية إشارات " ضوضاء " منخفضة المستوى وعشوائية إحصائيًا ، بما في ذلك الضوضاء الحرارية وضوضاء الطلقات ، والارتعاش وعدم استقرار الدوائر الإلكترونية، والحركة البراونية ، والضوضاء الجوية . [ 5 ] كما استخدم الباحثون التأثير الكهروضوئي ، الذي يتضمن مُقسِّم شعاع ، وظواهر كمومية أخرى ، [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] وحتى الاضمحلال النووي (نظرًا لاعتبارات عملية، فإن الأخير، وكذلك الضوضاء الجوية، غير عملي إلا في تطبيقات محدودة للغاية أو خدمات التوزيع عبر الإنترنت). [ 5 ] في حين أن الظواهر "الكلاسيكية" (غير الكمومية) ليست عشوائية حقًا، فإن النظام الفيزيائي غير المتوقع يُعتبر عادةً مصدرًا للعشوائية، لذلك تُستخدم صفتا "حقيقي" و"فيزيائي" بشكل متبادل. [ 11 ]
من المتوقع أن يُخرج مولد الأرقام العشوائية المُصمم للأجهزة أرقامًا عشوائية شبه مثالية (" إنتروبيا كاملة "). [ 12 ] عادةً لا تمتلك العملية الفيزيائية هذه الخاصية، وعادةً ما يتضمن مولد الأرقام العشوائية الحقيقي العملي بضع كتل: [ 13 ]
- مصدر ضوضاء يقوم بتنفيذ العملية الفيزيائية التي تنتج الإنتروبيا. عادةً ما تكون هذه العملية تناظرية ، لذلك يتم استخدام محول رقمي لتحويل خرج المصدر التناظري إلى تمثيل ثنائي؛
- مُهيئ ( مستخرج عشوائية ) يعمل على تحسين جودة البتات العشوائية؛
- الاختبارات الصحية . تُستخدم مولدات الأرقام العشوائية الحقيقية في الغالب في الخوارزميات التشفيرية التي تتعطل تمامًا إذا كانت الأرقام العشوائية ذات إنتروبيا منخفضة، لذلك يتم تضمين وظيفة الاختبار عادةً.
الأساليب الحسابية
لأسباب تتعلق بالأداء والأمان، تستخدم معظم مولدات الأرقام العشوائية مولدات الأرقام العشوائية الزائفة في بنائها (هذه البنية في الواقع مطلوبة في المعايير الصناعية مثل NIST SP 800-90A ).
مولد الأرقام شبه العشوائية (PRNG)، المعروف أيضًا باسم مولد البتات العشوائية الحتمي (DRBG)، [ 14 ] هو خوارزمية لتوليد سلسلة من الأرقام تقارب خصائصها خصائص سلاسل الأرقام العشوائية. لا تُعد السلسلة المولدة بواسطة مولد الأرقام شبه العشوائية عشوائية تمامًا ، لأنها محددة بالكامل بقيمة ابتدائية تُسمى بذرة مولد الأرقام شبه العشوائية (والتي قد تتضمن قيمًا عشوائية حقيقية). على الرغم من إمكانية توليد سلاسل أقرب إلى العشوائية الحقيقية باستخدام مولدات الأرقام العشوائية المادية ، إلا أن مولدات الأرقام شبه العشوائية تُعد مهمة عمليًا لسرعتها في توليد الأرقام وقابليتها للتكرار. [ 15 ]
تُعدّ مولدات الأرقام العشوائية الزائفة أساسية في تطبيقات مثل المحاكاة (مثل طريقة مونت كارلو )، والألعاب الإلكترونية (مثل التوليد الإجرائي )، والتشفير . تتطلب تطبيقات التشفير عدم إمكانية التنبؤ بالمخرجات من المخرجات السابقة، ولذا يلزم استخدام خوارزميات أكثر تعقيدًا لا ترث خطية مولدات الأرقام العشوائية الزائفة الأبسط.
تُعدّ الخصائص الإحصائية الجيدة شرطًا أساسيًا لمخرجات مولد الأرقام العشوائية الزائفة (PRNG). وبشكل عام، يتطلب الأمر تحليلًا رياضيًا دقيقًا للتأكد من أن مولد الأرقام العشوائية الزائفة يُولّد أرقامًا قريبة بما يكفي من العشوائية لتناسب الاستخدام المقصود. وقد حذّر جون فون نيومان من سوء فهم مولد الأرقام العشوائية الزائفة باعتباره مولدًا عشوائيًا حقيقيًا، مازحًا قائلًا: "إن أي شخص يفكر في الطرق الحسابية لإنتاج أرقام عشوائية، فهو بالطبع في حالة إثم". [ 16 ]
بواسطة البشر
يمكن توليد الأرقام العشوائية أيضًا بواسطة البشر، وذلك بجمع مدخلات متنوعة من المستخدمين النهائيين واستخدامها كمصدر للعشوائية. مع ذلك، تُشير معظم الدراسات إلى أن البشر يُظهرون درجة من عدم العشوائية عند محاولة إنتاج سلسلة عشوائية من الأرقام أو الأحرف، على سبيل المثال. فقد يُبدّلون بين الخيارات بشكل مُفرط مقارنةً بمولد أرقام عشوائية جيد؛ [ 17 ] لذا، لا يُستخدم هذا الأسلوب على نطاق واسع. ولكن، نظرًا لضعف أداء البشر في هذه المهمة، يُمكن استخدام توليد الأرقام العشوائية بواسطة البشر كأداة لفهم وظائف الدماغ التي يصعب الوصول إليها بطرق أخرى. [ 17 ]
المعالجة اللاحقة والفحوصات الإحصائية
حتى مع وجود مصدر لأرقام عشوائية معقولة (ربما من مولد أجهزة يعتمد على ميكانيكا الكم)، فإن الحصول على أرقام غير متحيزة تمامًا يتطلب عناية فائقة. إضافةً إلى ذلك، غالبًا ما يتغير سلوك هذه المولدات بتغير درجة الحرارة، وجهد مصدر الطاقة، وعمر الجهاز، أو أي تداخل خارجي آخر.
تخضع الأرقام العشوائية المُولَّدة أحيانًا لاختبارات إحصائية قبل استخدامها للتأكد من سلامة المصدر الأساسي، ثم تُعالَج لاحقًا لتحسين خصائصها الإحصائية. ومن الأمثلة على ذلك مولد الأرقام العشوائية TRNG9803 [ 18 ] ، الذي يستخدم قياس الإنتروبيا كاختبار للأجهزة، ثم يُعالَج التسلسل العشوائي باستخدام تشفير تدفق سجل الإزاحة. من الصعب عمومًا استخدام الاختبارات الإحصائية للتحقق من صحة الأرقام العشوائية المُولَّدة. اقترح وانغ ونيكول [ 19 ] تقنية اختبار إحصائي قائمة على المسافة تُستخدم لتحديد نقاط ضعف العديد من مولدات الأرقام العشوائية. كما اقترح لي ووانغ [ 20 ] طريقة لاختبار الأرقام العشوائية بناءً على مصادر إنتروبيا فوضوية ليزرية باستخدام خصائص الحركة البراونية.
تُستخدم الاختبارات الإحصائية أيضًا لإعطاء الثقة بأن الناتج النهائي بعد المعالجة من مولد الأرقام العشوائية غير متحيز حقًا، مع تطوير العديد من مجموعات اختبار العشوائية .
اعتبارات أخرى
إعادة تشكيل التوزيع
التوزيعات المنتظمة
معظم مولدات الأرقام العشوائية تعمل بشكل أساسي مع الأعداد الصحيحة أو البتات الفردية، لذا يلزم اتخاذ خطوة إضافية للوصول إلى التوزيع المنتظم القياسي بين 0 و1. ولا يُعدّ التنفيذ بهذه البساطة، إذ لا يقتصر على قسمة العدد الصحيح على قيمته القصوى الممكنة. تحديدًا: [ 21 ] [ 22 ]
- يجب أن يوفر العدد الصحيح المستخدم في التحويل عددًا كافيًا من البتات للدقة المطلوبة.
- طبيعة العمليات الحسابية ذات الفاصلة العائمة تعني وجود دقة أكبر كلما اقترب العدد من الصفر. لكن هذه الدقة الإضافية لا تُستخدم عادةً نظرًا للعدد الهائل من البتات المطلوبة. (إحدى النتائج المترتبة على ذلك هي تحويل بوكس-مولر § اقتطاع الذيل ).
- قد يؤدي خطأ التقريب في عملية القسمة إلى تحريف النتيجة. وفي أسوأ الأحوال، قد يتم رسم حد مستبعد ظاهريًا بما يخالف التوقعات المبنية على حسابات الأعداد الحقيقية.
تُوصَف الخوارزمية السائدة، المستخدمة في OpenJDK و Rust و NumPy ، في اقتراحٍ لمكتبة STL الخاصة بلغة C++ . لا تستخدم هذه الخوارزمية الدقة الإضافية، وتعاني من تحيزٍ في البت الأخير فقط نتيجةً لتقريب النصف إلى عددٍ زوجي . [ 23 ] تُثار مخاوف عددية أخرى عند نقل هذا التوزيع المنتظم القياسي إلى نطاقٍ مختلف. [ 24 ] وتزعم طريقةٌ مُقترحة للغة البرمجة Swift استخدام الدقة الكاملة في كل مكان. [ 25 ]
تُستخدم الأعداد الصحيحة الموزعة بانتظام بشكل شائع في خوارزميات مثل خلط فيشر-ياتس . مع ذلك، قد يؤدي تطبيق بسيط إلى تحيز في النتيجة، لذا يجب استخدام خوارزميات أكثر تعقيدًا. في عام 2018، وصف دانيال ليمير طريقة لا تكاد تُجري عملية قسمة [ 26 ] ، بينما تُعتبر الخوارزمية المثلى لعام 2021، المستوحاة من ترميز الحساب، والتي ابتكرها ستيفن كانون من شركة آبل [ 27 ]، هي الأحدث في هذا المجال.
معظم مولدات الأرقام العشوائية من 0 إلى 1 تتضمن 0 ولكنها تستبعد 1، بينما تتضمن مولدات أخرى كليهما أو تستبعدهما.
توزيعات أخرى
بافتراض وجود مصدر لأرقام عشوائية منتظمة، توجد طريقتان لإنشاء مصدر عشوائي جديد يتوافق مع دالة كثافة احتمالية . إحدى هاتين الطريقتين، وتُسمى طريقة الانعكاس ، تتضمن التكامل حتى مساحة أكبر من أو تساوي الرقم العشوائي (والذي يجب توليده بين 0 و1 للحصول على توزيعات صحيحة). أما الطريقة الثانية، وتُسمى طريقة القبول والرفض ، فتتضمن اختيار قيمتين لـ x و y، ثم اختبار ما إذا كانت دالة x أكبر من دالة y. إذا كانت كذلك، تُقبل قيمة x. وإلا، تُرفض قيمة x، وتُعاد المحاولة. [ 28 ] [ 29 ]
كمثال على أخذ العينات بالرفض، لتوليد زوج من الأرقام العشوائية القياسية المستقلة إحصائيا ( x ، y )، يمكن للمرء أولاً توليد الإحداثيات القطبية ( r ، θ )، حيث r 2 ~ χ 2 2 و θ ~ UNIFORM(0,2π) (انظر تحويل Box–Muller ).
تبييض
يمكن دمج مخرجات مولدات الأرقام العشوائية المستقلة المتعددة (على سبيل المثال، باستخدام عملية XOR الثنائية ) لتوفير مولد أرقام عشوائية مدمج لا يقل جودة عن أفضل مولد أرقام عشوائية مستخدم. ويُشار إلى هذا باسم تبييض البرمجيات .
تُدمج مولدات الأرقام العشوائية الحاسوبية والمادية أحيانًا للاستفادة من مزايا كلا النوعين. عادةً ما تستطيع مولدات الأرقام العشوائية الحاسوبية توليد أرقام شبه عشوائية أسرع بكثير من المولدات المادية، بينما تستطيع المولدات المادية توليد أرقام عشوائية حقيقية.
تسلسلات التباين المنخفض كبديل
يمكن تلخيص بعض العمليات الحسابية التي تستخدم مولد الأرقام العشوائية في حساب قيمة إجمالية أو متوسطة، مثل حساب التكاملات باستخدام طريقة مونت كارلو . في مثل هذه المسائل، قد يكون من الممكن إيجاد حل أكثر دقة باستخدام ما يُسمى بالمتتاليات ذات التباين المنخفض ، والتي تُعرف أيضًا بالأرقام شبه العشوائية . تتميز هذه المتتاليات بنمط محدد يملأ الفجوات بشكل متساوٍ، من الناحية النوعية؛ بينما قد تترك المتتالية العشوائية الحقيقية، وعادةً ما تفعل، فجوات أكبر.
الأنشطة والعروض التوضيحية
توفر المواقع التالية عينات من الأرقام العشوائية:
- تحتوي صفحات موارد SOCR على عدد من الأنشطة التفاعلية العملية والعروض التوضيحية لتوليد الأرقام العشوائية باستخدام تطبيقات Java الصغيرة .
- يقوم فريق البصريات الكمومية في الجامعة الوطنية الأسترالية بتوليد أرقام عشوائية مستمدة من الفراغ الكمومي. تتوفر عينات من هذه الأرقام العشوائية على صفحة أبحاثهم الخاصة بمولد الأرقام العشوائية الكمومية.
- يوفر موقع Random.org أرقامًا عشوائية مستمدة من عشوائية الضوضاء الجوية.
- يستمد قسم مولد البتات العشوائية الكمومية في معهد رودر بوشكوفيتش العشوائية من عملية الانبعاث الضوئي الكمومي في أشباه الموصلات. ويوفر القسم طرقًا متنوعة لجلب البيانات، بما في ذلك مكتبات للعديد من لغات البرمجة.
- يقوم فريق البحث في جامعة تاييوان للتكنولوجيا بتوليد أرقام عشوائية باستخدام ليزر فوضوي. تتوفر عينات من هذه الأرقام في خدمة توليد الأرقام العشوائية المادية التابعة لهم.
الأبواب الخلفية
بما أن الكثير من التشفير يعتمد على مولد أرقام عشوائية آمن تشفيرياً لتوليد المفاتيح والقيم العشوائية المشفرة ، فإذا أمكن جعل مولد الأرقام العشوائية قابلاً للتنبؤ، فيمكن استخدامه كباب خلفي من قبل المهاجم لكسر التشفير.
أُفيد بأن وكالة الأمن القومي الأمريكية (NSA) قد زرعت ثغرة أمنية في مولد الأرقام العشوائية الزائفة Dual EC DRBG ، الحاصل على شهادة NIST، والمُصنّف كبرنامج آمن تشفيرياً. فعلى سبيل المثال، إذا تم إنشاء اتصال SSL باستخدام هذا المولد، فإنه وفقًا لماثيو غرين، سيُمكّن وكالة الأمن القومي من تحديد حالة المولد، وبالتالي قراءة جميع البيانات المُرسلة عبر اتصال SSL. [ 30 ] وعلى الرغم من أنه كان من الواضح أن Dual_EC_DRBG مولد أرقام عشوائية زائفة ضعيف للغاية، وربما مُخترق، قبل وقت طويل من تأكيد وجود الثغرة الأمنية لوكالة الأمن القومي في عام 2013، إلا أنه استُخدم على نطاق واسع عمليًا حتى ذلك العام، على سبيل المثال من قِبل شركة الأمن البارزة RSA Security . [ 31 ] وقد وُجهت لاحقًا اتهامات لشركة RSA Security بزرع ثغرة أمنية لوكالة الأمن القومي في منتجاتها عن عمد، ربما كجزء من برنامج Bullrun . وقد نفت RSA زرع أي ثغرة أمنية في منتجاتها عن عمد. [ 32 ]
وقد طُرحت نظرية مفادها إمكانية تعديل مولدات الأرقام العشوائية المادية سرًا لتقليل إنتروبيتها عن القيمة المعلنة، مما يجعل التشفير باستخدامها عرضةً للهجمات. إحدى هذه الطرق المنشورة تعتمد على تعديل قناع التطعيم في الشريحة، وهو تعديل يصعب اكتشافه باستخدام الهندسة العكسية البصرية. [ 33 ] على سبيل المثال، في نظام لينكس، يُعتبر استخدام مولد الأرقام العشوائية المادي RDRAND من إنتل غير مقبول لتوليد الأرقام العشوائية دون دمج مخرجاته مع مصادر إنتروبيا أخرى لمواجهة أي ثغرات أمنية فيه، لا سيما بعد الكشف عن برنامج Bullrun التابع لوكالة الأمن القومي الأمريكية. [ 34 ] [ 35 ]
في عام 2010، تم التلاعب بسحب يانصيب أمريكي من قبل مدير أمن المعلومات في جمعية اليانصيب متعددة الولايات (MUSL)، الذي قام خلسةً بتثبيت برمجية خبيثة على جهاز الكمبيوتر الآمن التابع للجمعية والمخصص لمولد الأرقام العشوائية (RNG) أثناء الصيانة الدورية. [ 36 ] وخلال عمليات الاختراق، ربح الرجل مبلغًا إجماليًا قدره 16,500,000 دولار أمريكي على مدى عدة سنوات.
انظر أيضاً
- قلب
- رابطة الإنتروبيا
- قائمة مولدات الأرقام العشوائية
- PP (التعقيد)
- التوليد الإجرائي
- مولد كلمات مرور عشوائية
- متغير عشوائي ، يحتوي على قيمة تعتمد على الصدفة
- خوارزمية عشوائية
مراجع
- ↑ لوغرين، توماس (2023)، مولدر، فالنتين؛ ميرمود، آلان؛ ليندرز، فنسنت؛ تيلنباخ، برنارد (محررون)، "مولد الأرقام العشوائية"، اتجاهات في تقنيات حماية البيانات والتشفير ، تشام: سبرينغر نيتشر سويسرا، ص 31-34 ، doi : 10.1007/978-3-031-33386-6_7 ، ISBN 978-3-031-33386-6
{{citation}}: CS1 maint: work parameter with ISBN ( link ) - ↑ شيندلر 2008 ، ص 18.
- ↑ – دليل مبرمج لينكس – ملفات خاصة من Manned.org
- ^ سارينن ونيويل ومارشال 2020 .
- 1 2 سونار 2009 ، ص 56.
- ^ هيريرو كولانتيس وجارسيا إسكارتين 2017 ، ص. 8.
- ^ جاكاك، مارسين م. جوزوياك، بيوتر؛ نيمشوك، جاكوب؛ جاكاك، يانوش إي. (2021). "المولدات الكمومية للأرقام العشوائية" . التقارير العلمية . 11 (1): 16108. بيب كود : 2021NatSR..1116108J . دوى : 10.1038/s41598-021-95388-7 . بمك 8352985 . بميد 34373502 .
- ^ ما، شيونغفنغ؛ يوان، شياو؛ تساو، تشو. تشى، بنج. تشانغ، تشن (2016). "توليد الأرقام العشوائية الكمومية" . معلومات الكم npj . 2 (1): 16021. أرخايف : 1510.08957 . بيب كود : 2016npjQI...216021M . دوى : 10.1038/npjqi.2016.21 .
- ↑ كولميتزر، كريستيان؛ بيتسشارنيغ، ستيفان؛ سودا، مارتن؛ ميهيتش، ميراليم (2020). "توليد الأرقام العشوائية الكمومية" . توليد الأرقام العشوائية الكمومية: النظرية والتطبيق . دار نشر سبرينغر الدولية . ص 11-34 . doi : 10.1007/978-3-319-72596-3_2 . ISBN 978-3-319-72596-3.
- ^ مانالات وميشرا وباثاك 2023 .
- ^ هيريرو كولانتيس وجارسيا إسكارتين 2017 ، ص. 4.
- ^ توران وآخرون. 2018 ، ص. 64.
- ↑ توران وآخرون 2018 ، ص. 6.
- ↑ باركر، إيلين؛ باركر، ويليام؛ بور، ويليام؛ بولك، ويليام؛ سميد، مايلز (يوليو 2012). "توصية لإدارة المفاتيح" (ملف PDF) . منشور خاص من المعهد الوطني للمعايير والتكنولوجيا 800-57 . المعهد الوطني للمعايير والتكنولوجيا . doi : 10.6028/NIST.SP.800-57p1r3 . تاريخ الاسترجاع: 19 أغسطس 2013 .
- ↑ "مولدات الأرقام شبه العشوائية" . أكاديمية خان . تم الاسترجاع في 11 يناير 2016 .
- ↑ فون نيومان، جون (1951). "تقنيات متنوعة تُستخدم في توليد الأرقام العشوائية" (ملف PDF) . سلسلة الرياضيات التطبيقية للمكتب الوطني للمعايير . 12 : 36-38 . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 28 نوفمبر 2022.
- 1 2 W. A. Wagenaar 1972 .
- ↑ دومستيدت، ب. (2009). "مولد الأرقام العشوائية الحقيقية TRNG9803" . الشركة المصنعة: www.TRNG98.se.
- ↑ وانغ، يونغجي (2014). "الخصائص الإحصائية للمتتاليات شبه العشوائية وتجارب باستخدام PHP و Debian OpenSSL". أمن الحاسوب - ESORICS 2014. سلسلة محاضرات في علوم الحاسوب. المجلد 8712. هايدلبرغ: Springer LNCS. الصفحات 454-471 . doi : 10.1007/978-3-319-11203-9_26 . ISBN 978-3-319-11202-2.
- ↑ لي، بو؛ يي، شياوغانغ؛ ليو، شيانغليان؛ وانغ، يونكاي؛ وانغ، يونغجي (11 يوليو 2016). "خصائص الحركة البراونية لمولدات البتات العشوائية الكهروضوئية القائمة على فوضى الليزر" . مجلة أوبتكس إكسبرس . 24 (14): 15822-15833 . رمز Bibcode : 2016OExpr..2415822L . doi : 10.1364/OE.24.015822 . ISSN 1094-4087 . PMID 27410852 .
- ↑ غوالارد، ف. (2020). "توليد أعداد عشرية عشوائية بقسمة الأعداد الصحيحة: دراسة حالة". علوم الحوسبة - المؤتمر الدولي لعلوم الحاسوب 2020. سلسلة محاضرات في علوم الحاسوب. المجلد 12138. الصفحات 15-28 . doi : 10.1007/978-3-030-50417-5_2 . ISBN 978-3-030-50416-8. PMC 7302591 . S2CID 219889587 .
- ↑ كامبل، تايلور ر. (2014). "الأعداد العشرية العشوائية المنتظمة: كيفية توليد عدد عشري مزدوج الدقة في النطاق [ 0، 1 ] بشكل عشوائي منتظم بالنظر إلى مصدر عشوائي منتظم من البتات" . تم الاطلاع عليه بتاريخ 4 سبتمبر 2021 .
- ↑ "مواصفات جديدة لـ std::generate_canonical" . www.open-std.org .
- ↑ غوالارد، فريدريك (يوليو 2021). "استخلاص أعداد عشرية عشوائية من فترة زمنية" . HAL . تم الاسترجاع في 4 سبتمبر 2021 .
- ↑ NevinBR. " [ stdlib ] تحسينات على الأرقام العشوائية ذات الفاصلة العائمة بواسطة NevinBR · طلب سحب رقم 33560 · apple/swift" . GitHub .
- ↑ ليمير، دانيال (23 فبراير 2019). "توليد أعداد صحيحة عشوائية سريعة في فترة زمنية". معاملات ACM في النمذجة والمحاكاة الحاسوبية . 29 (1): 1-12 . arXiv : 1805.10941 . doi : 10.1145/3230636 . S2CID 44061046 .
- ↑ "خوارزمية مثلى للأعداد الصحيحة العشوائية المحدودة بواسطة stephentyrone · طلب سحب رقم 39143 · apple/swift" . GitHub .
- ↑ شركة ماث ووركس. "طرق التوليد الشائعة" . تم الاطلاع عليه بتاريخ 2024-09-08 .
- ↑ مجموعة الخوارزميات العددية. "G05 - مولدات الأرقام العشوائية" (ملف PDF) . دليل مكتبة NAG، الإصدار 23. تاريخ الاسترجاع: 9 فبراير 2012 .
- ↑ ماثيو غرين (2013-09-18). "العديد من عيوب Dual_EC_DRBG" .
- ↑ ماثيو غرين (2013-09-20). "شركة RSA تحذر المطورين من استخدام منتجات RSA" .
- ↑ «نحن لا نسمح بوجود ثغرات أمنية في منتجاتنا للعملات المشفرة، هذا ما صرحت به شركة RSA لعملائها» . آرس تكنيكا . 2013-09-20.
- ↑ "باحثون قادرون على إدخال حصان طروادة غير قابل للكشف في معالجات Ivy Bridge من إنتل" . آرس تكنيكا . 18-09-2013.
- ↑ ثيودور تسو. "أنا سعيد للغاية لأنني قاومت ضغوط مهندسي إنتل لجعل /dev/random يعتمد فقط على تعليمة RDRAND" . جوجل بلس.
- ↑ ثيودور تسو (17 سبتمبر 2013). "ردًا على: [ PATCH ] /dev/random: عدم كفاية الإنتروبيا على العديد من البنى المعمارية" . LWN.
- ↑ نيستل، إم إل (7 يوليو 2015). "داخل أكبر عملية احتيال في اليانصيب على الإطلاق" . صحيفة ذا ديلي بيست . تم الاطلاع عليه في 10 يوليو 2015 .
مصادر
- سارينين، ماركو-يوهاني أو.؛ نيويل، جي. ريتشارد؛ مارشال، بن (9 نوفمبر 2020). بناء مولد أرقام عشوائية حقيقي حديث: واجهة مصدر إنتروبيا لـ RISC-V (ملف PDF) . نيويورك، نيويورك، الولايات المتحدة الأمريكية: ACM. doi : 10.1145/3411504.3421212 . مؤرشف من الأصل في 16 مارس 2021. تم الاطلاع عليه في 9 سبتمبر 2023 .
{{cite conference}}: CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( رابط ) - شيندلر، فيرنر (2008). "مولدات الأرقام العشوائية للتطبيقات التشفيرية" . في: كوك، سي كيه (محرر). هندسة التشفير . بوسطن، ماساتشوستس: سبرينغر الولايات المتحدة. ص 5-23 . doi : 10.1007/978-0-387-71817-0_2 . ISBN 978-0-387-71817-0تم الاطلاع عليه بتاريخ 24-08-2024 .
- توران، ميلتيم سونميز؛ باركر، إيلين؛ كيلسي، جون؛ مكاي، كيري أ؛ بايش، ماري ل؛ بويل، مايك (2018). NIST SP800-90B: توصية بشأن مصادر الإنتروبيا المستخدمة لتوليد البتات العشوائية (تقرير). غايثرسبيرغ، ماريلاند: المعهد الوطني للمعايير والتكنولوجيا. doi : 10.6028/nist.sp.800-90b .
- سونار، بيرك (2009). "مولدات الأرقام العشوائية الحقيقية للتشفير". هندسة التشفير . بوسطن، ماساتشوستس: سبرينغر الولايات المتحدة. ص 55-73 . doi : 10.1007/978-0-387-71817-0_4 . ISBN 978-0-387-71816-3.
- هيريرو-كولانتس، ميغيل؛ غارسيا-إسكارتين، خوان كارلوس (22 فبراير 2017). "مولدات الأرقام العشوائية الكمومية". مراجعات الفيزياء الحديثة . 89 (1) 015004. الجمعية الفيزيائية الأمريكية (APS). arXiv : 1604.03304 . Bibcode : 2017RvMP...89a5004H . doi : 10.1103/revmodphys.89.015004 . ISSN 0034-6861 .
- مانالاث، فايساخ؛ ميشرا، سانديب؛ باثاك، أنيربان (2023). "مراجعة شاملة لمولدات الأرقام العشوائية الكمومية: المفاهيم والتصنيف وأصل العشوائية" . معالجة المعلومات الكمومية . 22 (12): 439. arXiv : 2203.00261 . Bibcode : 2023QuIP...22..439M . doi : 10.1007/s11128-023-04175-y .
- وا فاجينار (1972). “توليد تسلسلات عشوائية بواسطة موضوعات بشرية: دراسة نقدية للأدبيات”. النشرة النفسية . 77 (1 ) : 65-72.سيتيسيركس 10.1.1.211.9085 . دوى : 10.1037/h0032060 .
للمزيد من القراءة
- دونالد كنوث (1997). "الفصل 3 - الأرقام العشوائية". فن برمجة الحاسوب . المجلد 2: الخوارزميات شبه العددية ( الطبعة الثالثة).
- ليكويير، بيير (2017). "تاريخ توليد الأرقام العشوائية المنتظمة" (ملف PDF) . وقائع مؤتمر محاكاة الشتاء لعام 2017. مطبعة IEEE. الصفحات 202-230 .
- ليكويير، بيير (2012). "توليد الأرقام العشوائية" (ملف PDF) . في: جيه إي جنتل؛ دبليو هاردل؛ واي موري (محررون). دليل الإحصاء الحاسوبي: المفاهيم والأساليب . دليل الإحصاء الحاسوبي ( الطبعة الثانية). سبرينغر-فيرلاغ. الصفحات 35-71 . doi : 10.1007/978-3-642-21551-3_3 . hdl : 10419/22195 . ISBN 978-3-642-21550-6.
- كروس، د.ب .؛ تايمر، ت.؛ بوتيف، ز.إ. (2011). "الفصل 1 - توليد الأرقام العشوائية المنتظمة" . دليل طرق مونت كارلو . نيويورك: جون وايلي وأولاده. ص 772. ISBN 978-0-470-17793-8.
- بريس، دبليو إتش؛ تيوكولسكي، إس إيه؛ فيترلينغ، دبليو تي؛ فلانيري، بي بي (2007). "الفصل 7. الأرقام العشوائية" . وصفات عددية: فن الحوسبة العلمية ( الطبعة الثالثة). نيويورك: مطبعة جامعة كامبريدج. ISBN 978-0-521-88068-8.
- سلسلة NIST SP800-90A وB وC حول توليد الأرقام العشوائية. مؤرشفة بتاريخ 12 سبتمبر 2017 في Wayback Machine.
- م. توماسيني؛ م. سيبر؛ م. بيرينود (أكتوبر 2000). "حول توليد أرقام عشوائية عالية الجودة باستخدام الأوتوماتا الخلوية ثنائية الأبعاد" . مجلة IEEE للمعاملات الحاسوبية . 49 (10): 1146-1151 . رمز Bibcode : 2000ITCmp..49.1146T . doi : 10.1109/12.888056 . S2CID 10139169 .
روابط خارجية
- خدمة الأرقام العشوائية الحقيقية RANDOM.ORG
- مولد الأرقام العشوائية الكمومية في الجامعة الوطنية الأسترالية
- عشوائي وعشوائي زائف في برنامج "في عصرنا" على قناة بي بي سي
- jRand هو إطار عمل قائم على لغة جافا لإنشاء تسلسلات محاكاة، بما في ذلك تسلسلات الأرقام شبه العشوائية
- مولدات الأرقام العشوائية في مكتبة NAG Fortran
- منارة العشوائية في المعهد الوطني للمعايير والتكنولوجيا (NIST) ، تبث سلاسل بتات ذات إنتروبيا كاملة في كتل من 512 بت كل 60 ثانية. مصممة لتوفير عدم القدرة على التنبؤ والاستقلالية والاتساق.
- استدعاء نظام للأرقام العشوائية: getrandom() ، مقال على موقع LWN.net يصف استدعاء نظام مخصص لنظام لينكس
- الخصائص الإحصائية للمتواليات شبه العشوائية وتجارب باستخدام PHP و Debian OpenSSL
- مولد تسلسل عشوائي قائم على ضوضاء الانهيار الجليدي
- مولد الأرقام العشوائية
- توليد الأرقام العشوائية
- نظرية المعلومات
