الـرقم العشوائي هو قيمة ينتجها عملية غير قابلة للتنبؤ — إما من شيء فيزيائي كالنرد أو الضوضاء الحرارية، أو من خوارزمية حاسوبية تحاكي العشوائية. الفارق الجوهري بين مولدات الأرقام العشوائية الحقيقية (TRNGs) ومولدات الأرقام العشوائية الزائفة (PRNGs) هو ما يحدد ما إذا كان تطبيقك آمناً فعلاً أم يبدو عشوائياً فحسب. سواء احتجت إلى اختيار سريع لسحبة ما أو إلى مفتاح آمن تشفيرياً، فإن استخدام مولد أرقام عشوائية موثوق يصنع الفارق كله. يغطي هذا الدليل الأساسيات، والمخاطر الحقيقية للاختيار الخاطئ، وكيف تختار المولد المناسب لوضعك في 2026.
ما هو الرقم العشوائي بالضبط؟ (ولماذا يهم؟)
لا يُعرّف الرقم العشوائي بقيمته الفعلية — بل يُعرّف بمدى عدم قابلية المصدر للتنبؤ. عندما ترمي نرداً، فإن النتيجة عشوائية لأن العملية الفيزيائية — النرد يتدحرج ويصطدم بالسطح ومقاومة الهواء — معقدة جداً بحيث يصعب نمذجتها بدقة. في الحوسبة، تُقاس العشوائية بـالإنتروبيا (entropy)، وهو مصطلح من نظرية المعلومات يحدد كمياً مدى عدم قابلية التنبؤ. كلما زادت إنتروبيا المصدر، زادت صعوبة تخمين الرقم التالي.
غالباً ما يختلف المفهوم اليومي للعشوائية عن المفهوم الحسابي. تبدو المتتالية مثل “1 2 3 4 5” غير عشوائية للإنسان، لكن كما يشير مقال ويكيبيديا عن الأرقام العشوائية، “لا يمكننا الجزم بشكل قاطع أن المتتالية الأولى ليست عشوائية… فقد تكون نتجت بالصدفة.” الخاصية الجوهرية هي أن كل رقم في المتتالية مستقل عن الأرقام الأخرى ولا يمكن التنبؤ به من المخرجات السابقة.
هناك صنفان عامان من المولدات:
– مولدات الأرقام العشوائية الحقيقية (TRNGs) — وتُسمى أيضاً مولدات الأرقام العشوائية بالعتاد (HRNGs) — تسحب الأرقام من ظواهر فيزيائية غير قابلة للتنبؤ بطبيعتها.
– مولدات الأرقام العشوائية الزائفة (PRNGs) — تستخدم خوارزميات رياضية حتمية. تبدو عشوائية لكنها قابلة للتكرار بالكامل إذا عرفت الحالة الأولية (البذرة).
إدراك هذا الفرق بوضوح هو الخطوة الأولى للحفاظ على أمان تطبيقاتك. للاطلاع بشكل أوسع على أنواع مختلفة من أدوات العشوائية — بما في ذلك تلك التي تتجاوز الأرقام — يمكنك مراجعة دليلنا الشامل حول مولد الأرقام العشوائية.

المشكلة الجوهرية: لماذا لا يمكن أن تكون الحواسيب عشوائية “بالفعل”
الحاسوب آلة حتمية. كل تعليمة تتبع تسلسلاً ثابتاً. لتوليد رقم عشوائي، عليه الاعتماد على مصدر خارجي للإنتروبيا أو خوارزمية تحاكي العشوائية. كما قال عالم الرياضيات John von Neumann بشكل شهير عام 1951: “أي شخص يفكر في الطرق الحسابية لإنتاج أرقام عشوائية هو بالطبع في حالة من الإثم.”
هذا الاقتباس، المحفوظ في مقال ويكيبيديا عن توليد الأرقام العشوائية، يلتقط حقيقة جوهرية: الطرق الحسابية (الخوارزمية) لا يمكن أبداً أن تنتج أرقاماً غير قابلة للتنبؤ فعلاً. يمكنها فقط إنتاج متتاليات تبدو عشوائية للاختبارات الإحصائية. الطريقة الوحيدة للحصول على عدم قابلية للتنبؤ حقيقية هي حصد الإنتروبيا من العالم المادي — الضوضاء الحرارية في مقاومة، أو الضوضاء الجوية، أو الاضمحلال الإشعاعي، أو حتى الأنماط الفوضوية في مصابيح الافا.
مولد الأرقام العشوائية الحقيقي (TRNG) مقابل مولد الأرقام العشوائية الزائف (PRNG): الفارق الحاسم
يكمن الفارق الجوهري في مصدر عدم قابلية التنبؤ:
| الخاصية | TRNG (مولد عشوائي حقيقي) | PRNG (مولد عشوائي زائف) |
|---|---|---|
| المصدر | إنتروبيا فيزيائية (ضوضاء حرارية، تأثيرات كمومية، إلخ) | خوارزمية رياضية |
| حتمي؟ | لا — كل مخرج يعتمد على عملية فيزيائية | نعم — نفس البذرة تنتج دائماً نفس المتتالية |
| قابل للتكرار؟ | لا | نعم (إذا كانت البذرة معروفة) |
| السرعة | عادة أبطأ، محدودة بمعدل حصد الإنتروبيا | سريع جداً |
| هل يسبب حجباً؟ | قد يحجب إذا نفد مخزون الإنتروبيا | غير حاجب |
| حالة الاستخدام | التشفير، مفاتيح الأمان، اليانصيب | المحاكاة، الألعاب، التطبيقات غير الأمنية |
تقيس الـTRNGs ظاهرة فيزيائية مباشرة. تشمل المصادر الشائعة الضوضاء الحرارية في المقاومات، والارتعاش في الدارات الإلكترونية، وضوضاء التحميل في أشباه الموصلات، والظواهر الكمومية كتأثير الكهروضوئي. عادة ما يشمل مولد TRNG العملي مصدر ضوضاء، ورقمنة، ومحسّناً (مستخرج عشوائية) لتحسين الجودة، واختبارات سلامة للتأكد من أن المصدر لا يزال يعمل.
تبدأ الـPRNGs من قيمة أولية تسمى بذرة عشوائية (غالباً مسحوبة من TRNG) ثم تُطبّق بشكل متكرر تحويلاً رياضياً لتوليد الرقم التالي. المتتالية حتمية، أي إذا عرفت البذرة يمكنك إعادة إنتاج نفس الأرقام بالضبط. هذه القابلية للتكرار ممتازة لتصحيح أخطاء المحاكاة، لكنها كارثية للأمان إذا تمكن مهاجم من اكتشاف البذرة أو تخمينها.
الصنف الثالث، مولدات الأرقام العشوائية الزائفة الآمنة تشفيرياً (CSPRNGs)، يمزج أفضل ما في العالمين: تستخدم TRNG للحصول على بذرة عالية الإنتروبيا، ثم تستخدم خوارزمية مصممة بعناية لإنتاج تدفق غير محدود من الأرقام يصعب حسابياً تمييزه عن العشوائية الحقيقية. التصاميم التشفيرية القياسية تتبع هذا النهج الهجين، كما هو موضح في مقال ويكيبيديا.
كيف تُنشئ الـTRNGs عدم قابلية للتنبؤ حقيقية
تلتقط مولدات RNG الحقيقية العشوائية من البيئة الفيزيائية. مثال شهير تستخدمه شركة Cloudflare: جدار من مصابيح الافا في مكتبها بسان فرانسيسكو. كما يشرح منشور مدونة Cloudflare (2017)، يتم تصوير الأنماط المتغيرة باستمرار وغير القابلة للتنبؤ في مصابيح الافا وتجزئتها لإنتاج أرقام عشوائية عالية الإنتروبيا. بينما تُعد مصابيح الافا نهجاً مبتكراً، تستخدم معظم TRNGs مصادر أكثر compact مثل الضوضاء الحرارية لصمام ثنائي منحاز عكسياً.
مشروع هواة آخر حديث، مولد الأرقام العشوائية بإنتروبيا النيون لـ Joshua Coleman (مايو 2026)، يستخدم ثلاث مصابيح نيون قديمة. يتغير معدل تفريغ مصباح النيون المكهرب بشكل غير قابل للتنبؤ، وتلتقط المستشعرات الضوئية هذا التغيير. يقرأ Raspberry Pi Pico W الإشارات التناظرية وينتج قيماً 64-بت من نوع SHA-256 يمكن استخدامها كبذور عشوائية. يعترف المُنشئ بأن النظام “غير موصوف بدقة” ويحتاج إلى تحقق، لكنه يوضح مبدأ استخراج الإنتروبيا من العمليات الفيزيائية.
لماذا تُعد الـPRNGs حصان عمل الحوسبة
توجد PRNGs في كل مكان لأنها سريعة وقابلة للتكرار وسهلة التطبيق. يشير مقال ويكيبيديا إلى أنها “مركزية في تطبيقات مثل المحاكاة (مثل طريقة Monte Carlo)، والألعاب الإلكترونية (مثل التوليد الإجرائي)، والتشفير.” في المحاكاة، القدرة على تشغيل نفس المتتالية العشوائية مرة أخرى بدءاً من نفس البذرة أمر حاسم لتصحيح الأخطاء. في التشفير، يمكن أن تكون PRNG آمنة — طالما أُبقيت البذرة سرية.
أكثر PRNG للأغراض العامة استخداماً هو Mersenne Twister (MT19937)، المعروف بخصائصه الإحصائية الممتازة وفترته الطويلة (2^19937 − 1). العديد من لغات البرمجة (Python، Ruby، PHP) تستخدم Mersenne Twister كمولد أرقام عشوائية افتراضي للأغراض غير التشفيرية. لكن Mersenne Twister ليس آمناً تشفيرياً — يمكن لمهاجم إعادة بناء حالته الداخلية بعد رؤية حوالي 624 مخرجاً متتالياً. لأي شيء متعلق بالأمان، تحتاج إلى CSPRNG. إذا كنت تب بلغات محددة، فإن أدوات مثل مولد الأرقام العشوائية في بايثون، ومولد الأرقام العشوائية في Java، ومولد الأرقام العشوائية في C++ ترشدك إلى النهج الصحيح لكل منصة.
العواقب الواقعية: عندما تفشل الأرقام العشوائية (قضية التلاعب باليانصيب)
يمكن أن تكون نتائج مولد الأرقام العشوائية الضعيف كارثية. المثال الأكثر دراماتيكية هو قضية التلاعب باليانصيب الأمريكي الموصوفة في مقال ويكيبيديا. قام مدير أمن المعلومات في اتحاد اليانصيب متعدد الولايات (MUSL) بتثبيت برمجية خبيثة من الباب الخلفي سراً على حاسوب RNG الآمن أثناء الصيانة الدورية. على مدى عدة سنوات، فاز بإجمالي 16.5 مليون دولار من خلال التنبؤ بأرقام اليانصيب. نجح هذا الهجوم لأن RNG كان قابلاً للتنبؤ فعلياً بسبب الباب الخلفي — وهو فشل كلاسيكي في الاعتماد على مولد مخترق أو ضعيف.
حتى بدون أبواب خلفية خبيثة، يمكن للعشوائية المعيبة أن تسبب أضراراً واسعة. يستشهد مقال ويكيبيديا عن الأرقام العشوائية بحادثة 2012 حيث أثر عيب عشوائية بنسبة 99.8% (وليس 100% بالكامل) في طريقة تشفير عبر الإنترنت سلباً على ما يُقدّر بـ27,000 عميل لخدمة كبيرة. مثل هذه العيوب تُظهر أن حتى الانحرافات الصغيرة عن العشوائية الحقيقية يمكن أن يكون لها عواقب كبيرة.
قضية بارزة أخرى هي الباب الخلفي لـDual EC DRBG. كان هذا مولد الأرقام العشوائية الزائفة الآمن تشفيرياً المعتمد من NIST مشتبهاً في احتوائه على باب خلفي أُدخل من قبل NSA، مما يتيح لهم (إذا كانت النظرية صحيحة) تحديد حالته الداخلية وكسر التشفير الذي يعتمد عليه. كما هو ملاحظ في مقال ويكيبيديا، على الرغم من أن Dual EC DRBG كان “مولد أرقام عشوائية زائفة سيئاً جداً وربما مسوّى الباب الخلفي قبل وقت طويل من تأكيد باب NSA الخلفي في 2013، فقد شهد استخداماً كبيراً في الممارسة العملية”، بما في ذلك من قبل شركة الأمان RSA Security.
على نحو أخف، تُظهر شعبية أدوات الأرقام العشوائية عبر الإنترنت مدى اعتماد الناس عليها. وفقاً لـWheel of Names، اعتباراً من 2026 سجّل الموقع 462,479,318 دورة عجلة وأكثر من 1.28 مليون ساعة من الدوران. يستخدم الموقع دالة آمنة تشفيرياً (crypto.getRandomValues()) لضمان عدم قابلية التنبؤ الحقيقية لمستخدميه، الذين يدير كثير منهم سحبات واختيارات صف دراسي وهدايا بث مباشر. يُظهر هذا الحجم من الاستخدام أنه عندما يفشل مولد الأرقام العشوائية، فإنه يؤثر على الملايين.

كيف تختار مولد الأرقام العشوائية المناسب لحالة استخدامك في 2026
يعتمد اختيار مولد الأرقام العشوائية المناسب على احتياجات تطبيقك من الأمان والسرعة وقابلية التكرار. استخدم إطار القرار هذا:
للتشفير: الاستخدام الإلزامي لـCSPRNGs
إذا كان تطبيقك يتضمن مفاتيح تشفير، أو رموز مصادقة، أو معرفات جلسات، أو أي بيانات حساسة أمنياً أخرى، فيجب عليك بالضرورة استخدام مولد أرقام عشوائية زائفة آمن تشفيرياً (CSPRNG). لا تستخدم أبداً Math.random() أو random.randint() أو Mersenne Twister لهذه الأغراض. عواقب قابلية التنبؤ — سرقة مالية، واختراقات بيانات، واختطاف حسابات — خطيرة جداً.
الأدوات الموصى بها:
– متصفحات الويب: استخدم Web Crypto API (crypto.getRandomValues()). هذا ما يستخدمه Wheel of Names لضمان العشوائية.
– أنظمة Unix/Linux: اقرأ من /dev/urandom. يمنحك CSPRNG غير حاجب مُبذَّر بإنتروبيا العتاد. (ملاحظة: /dev/random يحجب حتى تتوفر إنتروبيا كافية ولا يُوصى به للقراءات الكبيرة.)
– Windows: استخدم CryptGenRandom() أو RNGCryptoServiceProvider.
– معالجات Intel: تعليمة RDRAND تُرجع أرقاماً عشوائية من مولد عتاد على الشريحة، لكن كثيراً من الأنظمة الواعية أمنياً تخلط مخرجاته مع مصادر إنتروبيا أخرى للدفاع ضد الأبواب الخلفية المحتملة.

للمحاكاة والألعاب: سرعة PRNGs (مثل Mersenne Twister)
لمحاكاةات Monte Carlo، والحوسبة العلمية، وألعاب الفيديو، وتوليد المحتوى الإجرائي، تهم السرعة والجودة الإحصائية أكثر من الأمان التشفيري. هنا، يعمل PRNG سريع مثل Mersenne Twister (MT19937) أو عائلة PCG الأحدث بشكل جيد. تنتج هذه المولدات مليارات الأرقام في الثانية وتجتاز معظم الاختبارات الإحصائية.
- قابلية التكرار ميزة أساسية: البدء من نفس البذرة يمنح نفس المتتالية، وهو أمر حيوي لتصحيح الأخطاء وضمان إمكانية تكرار التجارب.
- تحذير: لا تستخدم هذه لأي شيء يتعلق بالمال أو الهوية أو التحكم في الوصول.
لليانصيب والعدالة: الحاجة إلى إنتروبيا قائمة على العتاد
يجب أن تستخدم اليانصيبات، والمسابقات، وقرعات الجوائز، وأي نظام تُطلب فيه العدالة قانونياً أو أخلاقياً، إنتروبيا قائمة على العتاد (TRNG) أو على الأقل CSPRNG مصمماً جيداً مُبذَّراً من إنتروبيا فيزيائية. تُظهر قضية التلاعب باليانصيب أنه حتى RNG “آمن” يمكن اختراقه إذا تم العبث بالبذرة أو البرمجيات. العشوائية الفيزيائية من الضوضاء الجوية (مثل Random.org)، أو مولدات الأرقام العشوائية الكمومية، أو وحدات العتاد المخصصة توفر أقوى ضمان لعدم قابلية التنبؤ.
للمهام اليومية مثل توليد رقم هاتف عشوائي للاختبار، يوفّر مولد رقم الهاتف العشوائي نتائج سريعة وموثوقة دون تعقيد العتاد التشفيري.
للتطبيقات عالية المخاطر:
– المصادر الفيزيائية: استخدم HRNG مخصصاً (مثل واحد قائم على الضوضاء الحرارية أو الانبعاث الفوتوني الكمومي).
– النهج الهجين: ادمج إنتروبيا العتاد مع CSPRNG للسرعة.
– التدقيق: اختبر المخرجات بانتظام للتأكد من التوحيد والاستقلالية (انظر القسم 6).
أحدث ما في العشوائية: الأبحاث والأدوات المتطورة (تحديث 2026)
بينما يُعد الفارق الأساسي بين TRNG/PRNG راسخاً، تدفع الأبحاث الحديثة حدود السرعة والكفاءة والقدرة على التكيف. إحدى الدراسات البارزة لعام 2026 المنشورة في Scientific Reports تُقدّم DMARS_WGO (Dual-Mode Adaptive Reinforced Switching Walrus-Gazelle Optimizer)، وهي خوارزمية ميتاهيورستية هجينة تستخدم التعلّم المعزز لموازنة الاستكشاف والاستغلال بشكل ديناميكي.
وفقاً للورقة DMARS_WGO: a deep reinforcement-driven hybrid metaheuristic for intelligent adaptive optimization، حققت الخوارزمية المركز الأول في 26 من أصل 29 دالة معيارية على مجموعة CEC2017 والمركز الأول في 8 من أصل 12 دالة على CEC2022. بينما DMARS_WGO هي في الأساس خوارزمية تحسين (وليست RNG للأغراض العامة)، فإنها تُظهر كيف يمكن للتعلّم الآلي تحسين جودة عمليات البحث العشوائي — وهي فائدة مباشرة لعشوائية أفضل في المحاكاة.
بالنسبة للمطورين اليوميين، فإن أهم ممارسة في 2026 هي الاعتماد على مولدات CSPRNG على مستوى نظام التشغيل. تعليمة RDRAND من Intel، المتوفرة في وحدات المعالجة الحديثة، توفر مولد أرقام عشوائية قائماً على العتاد يمكن الوصول إليه مباشرة بالكود. يستخدم /dev/urandom الخاص بنواة Linux الآن CSPRNG قائماً على ChaCha20 وهو سريع وآمن. أصبحت Web Crypto API (crypto.getRandomValues()) المعيار لأمان JavaScript من جهة العميل.
كيف تولّد وحدات المعالجة الحديثة الأرقام العشوائية (RDRAND وما بعده)
تتضمن المعالجات الحديثة من Intel وAMD مولد أرقام عشوائية بالعتاد (HRNG) مدمجاً يمكن الوصول إليه عبر تعليمة RDRAND. يستخدم هذا المولد مصادر إنتروبيا على الشريحة — مثل الضوضاء الحرارية في ترانزسترات أكسيد المعادن وأشباه الموصلات (MOS) — لإنتاج بتات عشوائية. يمكنه توفير آلاف الأرقام العشوائية في الثانية.
ومع ذلك، لأنه يمكن نظرياً العبث بالعتاد (كما تُظهر قضية Dual EC DRBG)، فإن كثيراً من التطبيقات الحساسة أمنياً لا تستخدم RDRAND وحده. يشير مقال ويكيبيديا إلى أنه “فيما يخص توليد الأرقام العشوائية في Linux، يُعتبر من غير المقبول استخدام RDRAND الخاص بـ Intel بدون خلط مخرجات RDRAND مع مصادر إنتروبيا أخرى.” تُسمى هذه الممارسة “التبييض” (whitening)، وتجمع مصادر مستقلة متعددة لتقليل خطر الباب الخلفي المخفي.
كيف تختبر “العشوائية” في أرقامك
حتى لو استخدمت RNG مصمماً جيداً، عليك التحقق من أن مخرجاته تُظهر الخصائص الإحصائية المتوقعة. الفحصان الأساسيان هما التساوي في الاحتمال (كل قيمة تظهر بشكل متساوٍ تقريباً) والاستقلالية (لا توجد أنماط قابلة للتنبؤ بين القيم المتتالية).
وفقاً لصفحة مولد الأرقام العشوائية PsychicScience.org، يمكنك اختبار طريقة Math.random() في متصفحك بتوليد 100,000 عدد صحيح بمتتالية مفتوحة ضمن نطاق مختار. تلاحظ الصفحة أنه “بالصدفة، ستشير فحوصات العشوائية إلى متتاليات غير عشوائية حوالي مرة من كل 10” — معدل إيجابيات كاذبة بنسبة 10% أمر طبيعي.
شرح اختبار كاي تربيع ببساطة
الاختبار الإحصائي الأكثر شيوعاً للعشوائية هو اختبار كاي تربيع (χ²) لملاءمة التوزيع (Goodness-of-Fit). إليك كيف يعمل في الممارسة:
- وَلّد متتالية من N رقماً من RNG الخاص بك (مثل 1,000 عدد صحيح بين 1 و6).
- احسب كم مرة تظهر كل قيمة.
- قارن هذه الأعداد المُلاحَظة بالأعداد المتوقعة (للتوزيع الموحد، يجب أن تظهر كل قيمة N/6 مرات).
- احسب إحصائية كاي تربيع: المجموع على كل الفئات ((المُلاحَظ − المتوقع)² / المتوقع).
- فسّر: إذا كان الاحتمال المرتبط بقيمة كاي تربيع هذه أكبر من 0.10 (الحد النموذجي)، فلا يوجد دليل على انحراف كبير عن العشوائية.
اختبار ثانٍ لـالاستقلالية الزوجية يفحص ما إذا كان تكرار كل زوج محتمل من الأرقام المتتالية محتملاً بالتساوي. على سبيل المثال، عند رمي نرد، يجب أن يظهر كل زوج (1,1)، (1,2)، …، (6,6) بتكرار مماثل. يمكن لاختبار جدول الطوارئ كاي تربيع اكتشاف التحيزات مثل الميل للتناوب بين القيم العالية والمنخفضة.
تقدم كثير من الأدوات عبر الإنترنت، بما في ذلك الأداة على PsychicScience.org، فحوصات كاي تربيع مدمجة. للتحقق الجاد، توفر مجموعة الاختبارات الإحصائية NIST (STS) 15 اختباراً مختلفاً، تشمل اختبارات التكرار والتتابعات وتكرار الكتل.
الخاتمة
فهم الفرق بين TRNGs وPRNGs هو الخطوة الأولى لتأمين تطبيقاتك واتخاذ قرارات مستنيرة. تحصد TRNG الإنتروبيا الفيزيائية؛ تستخدم PRNG خوارزمية حتمية وبذرة؛ يجمع CSPRNG بين الاثنين من أجل الأمان. يمكن أن تكون العواقب الواقعية لاختيار الخطأ خسارة مالية ومسؤولية قانونية وضرراً بالسمعة، كما تُظهر قضية التلاعب باليانصيب بقيمة 16.5 مليون دولار.
نصيحة عملية: ابدأ بتدقيق قاعدة الكود اليوم للتأكد من أن Math.random() لا يُستخدم أبداً في أي سياق أمان أو مصادقة أو توليد رموز. انتقل إلى CSPRNGs لجميع العمليات الحساسة. للمحاكاة والألعاب، فإن PRNG سريعاً مثل Mersenne Twister جيد، لكن كن دائماً على دراية بمتطلب قابلية التكرار. وإذا كنت تشغل يانصيباً، أو سحبة، أو أي نظام حاسم للعدالة، فاستثمر في RNG عتاد مخصص أو CSPRNG مُتحقَّق منه جيداً مع مصادر إنتروبيا قابلة للتدقيق. بكلمات دراسة DMARS_WGO لعام 2026، القدرة على “التكيّف الذاتي بذكاء لديناميكيات البحث” هي الحافة المتقدمة — لكن لمعظم المطورين، مجرد اختيار الأداة الموجودة الصحيحة هو الخطوة الأكثر تأثيراً.
الأسئلة الشائعة
ما الفرق بين مولد الأرقام العشوائية الحقيقي (TRNG) ومولد الأرقام العشوائية الزائف (PRNG)؟
تستخدم TRNG عمليات فيزيائية (ضوضاء حرارية، تأثيرات كمومية، مصابيح لافا) لتوليد أرقام غير قابلة للتنبؤ بطبيعتها. تستخدم PRNG خوارزمية رياضية وبذرة بداية؛ تبدو المخرجات عشوائية لكنها حتمية بالكامل. للأمان، يلزم وجود TRNG أو CSPRNG.
هل الأرقام العشوائية المُولّدة بواسطة المواقع عشوائية فعلاً؟
معظم المواقع تستخدم PRNGs، وهي حتمية لكنها عشوائية إحصائياً. المواقع الموثوقة للتشفير أو اليانصيب تستخدم إنتروبيا قائمة على العتاد أو CSPRNGs (مثل Web Crypto API). للتطبيقات غير الأمنية مثل مختارات الأسماء، فإن PRNG بسيط يكفي عادةً.
كيف يمكنني توليد أرقام عشوائية آمنة تشفيرياً؟
استخدم واجهات برمجة مخصصة مثل Web Crypto API (crypto.getRandomValues()) في المتصفحات. على أنظمة Unix/Linux، اقرأ من /dev/urandom. لا تستخدم أبداً Math.random() لأغراض أمنية. للتوليد الكبير، فإن مولدات CSPRNG الحديثة مثل ChaCha20 سريعة وآمنة.
اترك تعليقاً