483 / 691PRNG

Deterministic RNG

مولّد حتمي للأعداد شبه العشوائية

يكرر المولّد الحتمي النتائج عند تطابق الحالة والمدخلات. يتيح ذلك اختبارات قابلة للتكرار، لكن الأمان التشفيري يحتاج أيضاً آلية مناسبة وسراً لا يعرفه الخصم.

ينتج ⁦Deterministic RNG⁩ تسلسلاً وفق خوارزمية ثابتة. تطابق البذرة وحده لا يكفي لمقارنة تنفيذين مختلفين؛ فالخوارزمية والمعاملات وترتيب الاستدعاءات والمدخلات الإضافية مهمة أيضاً. الحتمية ليست مرادفاً للضعف ولا دليلاً تلقائياً على الأمان.

تصف ⁦NIST SP 800-90A⁩ مولّد ⁦DRBG⁩ ذا حالة، مع التهيئة والتوليد وإعادة البذر. ترتبط قابلية التكرار بالآلية والحالة وتسلسل المدخلات نفسها. قد تغير إنتروبيا جديدة أو مدخلات إضافية مختلفة المخرجات رغم تطابق البذرة الأصلية. [NIST SP 800-90A Rev. 1 — State, inputs and reseeding]

تحذر ⁦RFC 4086⁩ من أن مولّدات المحاكاة التقليدية قد لا تقاوم الخصم. ينبغي أن يبقى التسلسل القوي تشفيرياً غير قابل للتنبؤ عند معرفة بعض مخرجاته. طول الدورة أو نجاح اختبار إحصائي وحده لا يثبت ذلك. [RFC 4086 — Pseudorandom sequences and unpredictability]

تعيد ⁦libsodium randombytes_buf_deterministic()⁩ التسلسل نفسه للبذرة نفسها وتفيد في الاختبارات. يستطيع الآخرون أيضاً إعادة إنتاج بذرة اختبار منشورة. لذا لا يشكل هذا المدخل مادة سرية لمحفظة حقيقية. [libsodium — Deterministic output and VM snapshots]

تنشئ ⁦BIP32⁩ شجرة مفاتيح من بذرة واحدة؛ ويحدد مسار الاشتقاق الفرع المعين أيضاً. تسمح استعادة البذرة والمسار نفسيهما باسترجاع المفاتيح نفسها. لا يضيف عنوان مشتق آخر بذاته إنتروبيا مستقلة إلى السر الأصلي. [BIP32 — Hierarchical deterministic key derivation]

تشتق ⁦BIP39⁩ بذرة من ⁦mnemonic⁩ و⁦passphrase⁩ باستخدام ⁦PBKDF2⁩. تنتج الكلمات نفسها مع ⁦passphrase⁩ مختلفة نتيجة أخرى. لذلك تعتمد إمكانية الاستعادة على المدخلات الكاملة واشتقاق المفاتيح اللاحق، لا على قائمة الكلمات وحدها. [BIP39 — Mnemonic and passphrase to seed]

تنشئ ⁦RFC 6979⁩ قيمة التوقيع k حتمياً من المفتاح السري والرسالة. تبقي الوثيقة صراحة الحاجة إلى العشوائية عند توليد زوج المفاتيح. حذف المدخل العشوائي الجديد من خطوة التوقيع هذه لا يلغي الحاجة إلى سر أولي قوي. [RFC 6979 — Deterministic signing and initial key generation]

تحذر ⁦libsodium⁩ من أن استعادة لقطة آلة افتراضية قد تكرر مخرجات المولّد. يختلف هذا عن الاستعادة المقصودة لمفاتيح ⁦BIP32⁩. يجب التمييز بين استعادة هوية المحفظة والتكرار العرضي للقيم المطلوبة حديثاً. [libsodium — Deterministic output and VM snapshots] [BIP32 — Hierarchical deterministic key derivation]

سجل الخوارزمية والنسخة والمدخلات وسلوك إعادة البذر ومتجهات الاختبار المتوقعة. تطابق المتجه يؤكد ذلك المثال، لا جودة الإنتروبيا في الجهاز الفعلي. تفصل ⁦NIST SP 800-90A⁩ الآلية عن متطلبات إنتروبيا مدخلاتها. [NIST SP 800-90A Rev. 1 — State, inputs and reseeding]

للحصول على صورة أوضح، اقرأ هذا المدخل مع CSPRNG, Random Number Generator, HD Wallet, Seed Generation. تشير إلى هذا المدخل أيضًا CSPRNG, COLDCARD RNG Incident (2026).

DOC · 001NIST SP 800-90A Rev. 1 — State, inputs and reseedingمواصفة ↗DOC · 002RFC 4086 — Pseudorandom sequences and unpredictabilityمواصفة ↗DOC · 003libsodium — Deterministic output and VM snapshotsتوثيق ↗DOC · 004BIP32 — Hierarchical deterministic key derivationمواصفة ↗DOC · 005BIP39 — Mnemonic and passphrase to seedمواصفة ↗DOC · 006RFC 6979 — Deterministic signing and initial key generationمواصفة ↗
المصادر أولًا · ليست نصيحة استثمارية