يوفر Random Number Generator قيماً لغرض محدد. يتطلب الاستخدام التشفيري ألا يستطيع الخصم التنبؤ بها عملياً ضمن الافتراضات المعلنة. مصدر الإنتروبيا الفيزيائي والمولّد الحتمي وواجهة نظام التشغيل طبقات مختلفة؛ ولا يحدد اسم RNG وحده خصائصها.
يوفر مصدر الإنتروبيا عدم اليقين، وتُعدّ المعالجة التكييفية المدخلات، وينتج المولّد الحتمي المخرجات من حالته الداخلية. يجمع NIST SP 800-90C آليات 90A مع مصادر وفق 90B. لذلك لا يقابل كل بت مُعاد بالضرورة قياساً فيزيائياً جديداً. [NIST SP 800-90C — RBG constructions]
قد تجتاز سلسلة اختبارات إحصائية رغم أن المهاجم يعرفها. يحذر RFC 4086 من الساعات والأرقام التسلسلية والقيم الابتدائية القابلة للتنبؤ. لذلك لا يكفي اسم مولّد المحاكاة أو توزيع نتائجه لاعتباره مناسباً للتشفير. [RFC 4086 — Unpredictability and weak inputs]
يقيّم NIST SP 800-90B مصدر الضوضاء والمعالجة التكييفية واختبارات السلامة عند البدء وأثناء التشغيل. تكشف هذه الاختبارات أعطال المصدر، ولا تثبت أمان المحفظة بكاملها. معالجة الأعطال جزء من التصميم؛ فلا يجوز عرض مخرجات مسار معطّل بصمت على أنها عشوائية تم التحقق منها. [NIST SP 800-90B — Source health and failure handling]
ينتظر Linux getrandom() عادة تهيئة مصدر urandom. مع GRND_NONBLOCK قد يعيد EAGAIN بدلاً من الانتظار. بعد التهيئة، تضمن طلبات urandom التي لا تتجاوز 256 بايت قراءة كاملة دون مقاطعة بإشارة؛ ولا يشمل الضمان الطلبات الأكبر. على التطبيق مراعاة حالة الإرجاع. [Linux getrandom(2) — Initialization and return behavior]
يملأ Web Crypto getRandomValues() مصفوفات الأعداد الصحيحة المدعومة بقيم قوية تشفيرياً؛ وإذا تجاوز الحجم 65536 بايت يُطلق QuotaExceededError. توصي المواصفة باستخدام generateKey() لإنشاء المفاتيح. وجود الواجهة لا يثبت موثوقية الصفحة ولا يحمي الأسرار من الشيفرة التي تستطيع الوصول إليها. [W3C Web Crypto — getRandomValues and key generation]
يرمّز BIP39 أولاً من 128 إلى 256 بت من الإنتروبيا الابتدائية مع مجموع تحقق مشتق. ثم يشتق عبر PBKDF2 بذرة بطول 512 بت من الكلمات وعبارة passphrase اختيارية. لا يصلح مجموع التحقق ولا المخرج الأطول مدخلاً قابلاً للتنبؤ؛ واختيار الكلمات يدوياً لا يحل محل التوليد العشوائي. [BIP39 — Initial entropy and mnemonic-to-seed derivation]
يحتاج المولّد الحتمي إلى حماية حالته وتهيئته الصحيحة. يميز NIST SP 800-90A بين إنشاء المثيل والتوليد وإعادة البذر وإنهاء المثيل. تتطلب استعادة الأمان بعد كشف الحالة آلية مناسبة وإنتروبيا جديدة لا يعرفها المهاجم؛ ومجرد استدعاء المولّد مجدداً ليس ضماناً عاماً للتعافي. [NIST SP 800-90A Rev. 1 — DRBG lifecycle and reseeding]
ينبغي أن تحدد المراجعة المصدر والخوارزمية والتهيئة والواجهة والسلوك عند الخطأ في النسخة المُقيّمة. وصف عتادي أو غير متصل لا يثبت هذه السلسلة بذاته. تشرح المعايير المذكورة متطلبات التوليد؛ ولا تصدّق على محفظة بعينها أو تمنع تسرب نسختها الاحتياطية لاحقاً. [NIST SP 800-90C — RBG constructions] [RFC 4086 — Unpredictability and weak inputs]
للحصول على صورة أوضح، اقرأ هذا المدخل مع Cryptographic Entropy, CSPRNG, Seed Generation, Brute Force Search Space. تشير إلى هذا المدخل أيضًا CSPRNG, Deterministic RNG, True Random Number Generator, Seed Generation.