تكوم قليلا ، حتى لا ننسى. يجب أن تكون تعليقات مجتمع habracrypto مثيرة للاهتمام.
قررت التحقق من كيف أن Brainwallet التشفير هو نظام النسخ الاحتياطي لمحفظة Jaxx متعددة العملات وما تعنيه الكلمات السرية على مستوى الرمز.
للبدء ، قمت بعمل نسخة من محفظة إضافات Google المثبتة حديثًا إلى مجلد العمل الخاص بي. تصحيح الملفات لتحريرها.
يحتوي Notepad ++ على ميزات رائعة للبحث عن الملفات والمكونات الإضافية لتنسيق التعليمات البرمجية ، لذا ساعدك العثور على خطوط وإضافتها مثل console.warn (“bits =” + bits) في معرفة ما يحدث بسرعة عند إنشاء محفظة واستعادتها. تم أيضًا اكتشاف وظيفة مخفية عن المستخدم ، والتي ربما تسمح برفع مستوى مقاومة التشفير لمرض بجنون العظمة.
لذا ، عند إنشاء محفظة:
1. يتم إنشاء 128 بتة عشوائية زائفة باستخدام rng:
function generateMnemonic(strength, rng, wordlist) { strength = strength || 128 rng = rng || randomBytes var hex = rng(strength / 8).toString('hex') console.warn('hex=' + hex) return entropyToMnemonic(hex, wordlist) }
2. يتم حساب المجموع الاختباري 4 بت
3. ينقسم إجمالي الصورة النقطية إلى قطع من 12 بت ، وتحويلها إلى عدد صحيح. نحصل على 12 فهرس لجدول الكود.
4. يتم تجميع سلسلة من الكلمات لنسخ احتياطي للمحفظة من جدول رموز بحجم 2225 كلمة.
5. بناءً على الاختيار ، يتم إنشاء محافظ مختلفة من خلال تطبيق خوارزميات التجزئة المختلفة على البذرة 128 بت.
var jaxx; (function (jaxx) { var Seed = (function () { function Seed() { } Seed.generateMnemonic = function () { return thirdparty.bip39.generateMnemonic(); }; Seed.validateSeed = function (seed) { return (thirdparty.bip39.validateMnemonic(seed)) ? true : false; };
تحتوي الأجزاء الداخلية من الطرف الثالث على تطبيقات للعديد من الخوارزميات المختلفة ، يمكنك إعادة رسم jaxx لتناسب احتياجاتك.
hash160: hash160, hash256: hash256, ripemd160: ripemd160, sha1: sha1, sha256: sha256
والكثير من التعليمات البرمجية المثيرة للاهتمام التي أستمر في الحفر.
عند استعادة المحفظة ، يتم استكمال المؤشرات الموجودة في جدول الرموز مع عدم وجود 0 إلى 12 بتة كبيرة ، ويتم فحص المجموع الاختباري ، ويتم إنشاء المفاتيح على الفور من البذور المستلمة ويتم بدء المزامنة مع blockchain.
words=boil,matter,crawl,clean,choice,gasp,clay,defy,crew,amount,cushion,pretty
chunks=00011001000,10001001010,00110010101,00101010010,00101000001,01100000001,00101010001,00111001101,00110011010,00001000000,00110110011,10101010001
bits=000110010001000100101000110010101001010100100010100000101100000001001010100010011100110100110011010000010000000011011001110101010001
checksum=0001
بالنسبة لي ، تحولت كل هذه التجربة إلى مادة غريبة لتعميق معرفتي بالتشفير.
PS ونعم ، لماذا أنا:
ما رأيك ، إذا تم تطبيق تحليل التشفير العصبي على هذه الخوارزمية ، فهل سيكون من الممكن تسريع اختراق القرص الذي يتم ترميز مفتاحه الخاص بشكل نهائي من صفيف البتات ويستخدم كبذور لعدة محافظ.
سأكون سعيدًا وممتنًا لأمثلة رمز الثعبان ، من المثير للاهتمام قياس سرعة اختيار المفتاح على أجهزة مختلفة.