تصف الإنتروبيا في التشفير مقدار عدم اليقين المتبقي لدى المهاجم عند محاولة تخمين قيمة سرية. وتهم محفظة Bitcoin منذ إنشاء الأساس الذي تُشتق منه مفاتيحها. ليست المسألة أن تبدو الحروف معقدة، بل كم نتيجة كانت ممكنة فعلًا، وما احتمال كل منها، وما الذي يعرفه المهاجم عن العملية.
تخيل أن شخصًا أنشأ سرًا من تاريخ إعداد المحفظة ووقته. قد يبدو الناتج بعد الترميز كسلسلة طويلة من الحروف المختلطة. لكن إذا عرف المهاجم الوقت التقريبي والطريقة، فقد لا يحتاج إلا إلى تجربة مجموعة صغيرة من الاحتمالات. إطالة الكتابة لا تجعل مهمته أصعب بالضرورة. لهذا يميز RFC 4086 بين عدم قابلية التنبؤ ومجرد المظهر العشوائي. لا يمكنك تقدير الإنتروبيا بالنظر إلى مفتاح واحد؛ تحتاج إلى معرفة كيفية إنشائه. [3]
البت وحدة أساسية لتسجيل البيانات، وقيمته 0 أو 1. لكن عدد البتات وحده لا يبين مقدار عدم اليقين المتبقي لدى المهاجم. عندما تنشئ المحفظة Seed Phrase وفق BIP39، تحتاج أولًا إلى مدخل عشوائي. وبعد ذلك فقط تحوله إلى كلمات. تتضمن عبارة من 12 كلمة مدخلًا بطول 128 بت و4 بتات لقيمة التحقق checksum؛ أما عبارة من 24 كلمة فتتضمن 256 بت للمدخل و8 بتات للتحقق. تساعد قيمة التحقق على اكتشاف بعض أخطاء الكتابة، لكنها لا تضيف إنتروبيا لأنها محسوبة من المدخل الموجود. لذلك لا تصلح قائمة كلمات أطول عشوائية وُلدت بطريقة سيئة. المهم كيف أُنشئت النسخة الاحتياطية، لا عدد كلماتها وحده. [4]
لا تحتاج المحفظة إلى قياس فيزيائي جديد لكل بايت جديد، أي لكل مجموعة من 8 بتات. يمكنها استخدام مولد تشفيري يسمى DRBG: خوارزمية تنتج قيمًا إضافية انطلاقًا من حالة أولية سرية. عند التصميم والاستخدام الصحيحين، يصعب توقع المخرجات دون معرفة تلك الحالة. ومع ذلك فالخوارزمية حتمية: الحالة الكاملة نفسها والمدخلات نفسها تعطيان الاستمرار نفسه. لذلك لا يؤدي إنتاج مزيد من البايتات تلقائيًا إلى مزيد من الإنتروبيا الفيزيائية الجديدة. تهم جودة المدخل الأولي وحماية الحالة الداخلية معًا. [2]
تحسب دالة hash بصمة للبيانات ذات طول ثابت، وقد تبدو هذه البصمة عشوائية. لكن من يعرف المدخل يستطيع حساب النتيجة نفسها. المدخلات المعروفة بالكامل لا تصبح سرًا بهذه الطريقة. يشير المصطلح التقني conditioning إلى معالجة قد تقلل الانحياز وتجمع عدم اليقين الموجود أصلًا. إنها لا تصنع سرًا من العدم. كذلك لا يمكن جمع إنتروبيا عدة مصادر تلقائيًا، فقد تكون مترابطة وتقدم المعلومة نفسها. [1] [3]
قد يتعطل مصدر الضوضاء الإلكتروني أو يتغير سلوكه بتغير الظروف المحيطة. لذلك يشترط NIST SP 800-90B فحوصا للضوضاء الخام عند البدء وأثناء التشغيل، قبل معالجتها اللاحقة. تبحث هذه الفحوص عن علامات الخلل، لكنها لا تثبت أن كل مخرج آمن. يجب أن يفهم المطور المصدر وحدوده واعتماداته المحتملة. وعند اكتشاف خلل، يجب إبلاغ التطبيق الذي يستخدم البيانات. وإذا كان العطل مستمرا، فعلى المصدر أن يتوقف عن إنتاج المخرجات. مجرد وجود شريحة تحمل اسم «مولد عشوائي» لا يكفي. [1]
إذا حصل المهاجم على الحالة الداخلية لـ DRBG، فقد يستطيع توقع المخرجات التالية، بحسب تصميمه. لاستعادة عدم قابلية التنبؤ، يلزم مدخل جديد كافٍ لا يعرفه المهاجم؛ وتسمى إضافة هذه الإنتروبيا reseeding. الاستمرار في الحساب أو إضافة وقت معروف لا يضمن تلك الحماية. وميز أيضًا بين إصلاح المولد وأمان الأموال الموجودة: استعادة المولد لا تبطل مفتاحًا سبق أن تسرب. [2]
قد يكشف اختبار إحصائي تكرارًا مريبًا مثلًا. لكنه لا يستطيع الجزم بما إذا كان المهاجم يعرف المدخل السري أو طريقة توقع الناتج. ينبه NIST SP 800-22 إلى هذا القيد صراحةً. الاختبارات جزء مفيد من التقييم، وليست بديلًا عن تحليل المولد كاملًا. لذلك لا يثبت ملف مليء بأعداد تبدو عشوائية، بمفرده، أن المحفظة آمنة. [5]
لا يحتاج المبتدئ إلى حساب إنتروبيا محفظته يدويًا. الأجدى البحث عن عملية إنشاء موثقة: من أين تأتي العشوائية، وكيف تعالج، وكيف يُتعامل مع الأخطاء، وكيف تُحمى الأسرار؟ يتناول NIST SP 800-90C تحديدًا جمع مصادر الإنتروبيا وDRBG في مولد كامل. لكن الإشارة إلى معيار أو شريحة معروفة لا تثبت أن إصدارًا معينًا من المحفظة يستخدمهما بصورة صحيحة. ما يهم هو الخصائص المثبتة للتنفيذ الفعلي. [1] [6]
للحصول على صورة أوضح، اقرأ هذا المدخل مع Entropy Bit, CSPRNG, Dice Roll Entropy, Private Key. تشير إلى هذا المدخل أيضًا BIP85, Dice Roll Entropy, Entropy Bit, Brute Force Search Space.