cryptofoundry

الاتصال بـ cryptofoundry

أخبرنا بما تريد بناءه أو أتمتته.

البريد الإلكتروني
[email protected]
ADAMANT Messenger
فتح في ADAMANT
مقال

نظرة عامة على التشفير في ADAMANT Messenger

ADAMANT Messengerمن المسبك ↗
نظرة عامة على التشفير في ADAMANT Messenger

يعتمد ADAMANT على نفس الخوارزميات التشفيرية المُثبتة التي تستخدمها Bitcoin، Ethereum، Signal، Tor، OpenSSH، وعديد من الأنظمة الأخرى. التشفير بطبيعته متحفظ، ويجب أن تثبت كل خوارزمية جدارتها بمرور الوقت. ما يميز ADAMANT هو أن البلوكشين نفسه يضمن التوزيع اللامركزي، والهوية المزيفة كوسيلة للحفاظ على الخصوصية، وسلامة الرسائل وترتيبها، والتخزين الدائم، والتسليم الموثوق، والمقاومة لهجمات الاعتراض (Man-in-the-Middle). يتم التحقق من الرسائل والمعاملات من قِبل كل عقدة في الشبكة، وليس من قِبل المستلم أو جهة مركزية. تكلفة هذا التوزيع اللامركزي هي رسوم المعاملات التي تعوّض مشغلي العقد.

الحساب وزوج المفاتيح

يبدأ حساب ADAMANT بعبارة مرور BIP39 المؤلفة من 12 كلمة، وتوفر ما يقارب 132 بت من العشوائية ضمن ما يقارب 2048¹² توليفة ممكنة. يتم تجزئة بذرة BIP39 باستخدام SHA-256 لإنتاج قيمة بطول 256 بت، ومنها تُستخلص مفاتيح التوقيع الرقمي Ed25519: مفتاح عام بطول 256 بت ومفتاح خاص بطول 512 بت. وهذا يمنح مستوى أمانًا يعادل RSA بمفاتيح 3000 بت تقريبًا أو خوارزميات تشفير كتلية قوية بطول 128 بت. العنوان ADM الذي يظهر للمستخدم هو حرف ‘U’ متبوعًا بـ 8 بايت من نتيجة تجزئة SHA-256 للمفتاح العام، ما يُنتج معرفًا بطول 64 بت. ويتم نشر المفتاح العام Ed25519 على البلوكشين مع أول معاملة صادرة من المستخدم.

تشفير الرسائل

لتمكين المراسلة المشفرة، يتم تحويل مفاتيح التوقيع Ed25519 الخاصة بالمستخدم إلى مفاتيح Diffie-Hellman من نوع Curve25519 — مفتاح عام بطول 256 بت ومفتاح سري بطول 256 بت — ما يتيح التشفير غير المتماثل بين الطرفين. يتم تشفير الرسائل باستخدام خوارزمية التشفير Curve25519-XSalsa20-Poly1305 (NaCl.box)، والتي تستخدم XSalsa20 مع رقم عشوائي (nonce) بطول 192 بت وPoly1305 للتحقق من صحة التشفير، مع التأكد من سلامة البيانات وأصالة الرسالة.

تخزين المفتاح-القيمة (KVS)

بالنسبة لتخزين المفتاح-القيمة، تُستخدم مفاتيح التوقيع Ed25519 الخاصة بالمستخدم لاستخلاص مفتاح سري خاص بـ XSalsa20-Poly1305. ثم يتم تسلسل البيانات إلى كائن JSON مع إضافة ضوضاء، ثم تشفيرها باستخدام NaCl.secretbox، مع استخدام XSalsa20 ورقم عشوائي (nonce) بطول 192 بت وPoly1305 للتحقق من السلامة والأصالة.

توقيعات المعاملات

يتم تجزئة بيانات المعاملة — بما في ذلك الطابع الزمني وأية رسالة مشفرة — باستخدام SHA-256. يقوم المرسل بتوقيع هذه الهاش باستخدام Ed25519 من خلال مفتاحه العام بطول 256 بت والمفتاح الخاص بطول 512 بت. ويتكوّن معرّف المعاملة (Transaction ID) من 8 بايت من نتيجة تجزئة SHA-256 للتوقيع الناتج.

توجد مراجع تقنية مفصلة حول توليد المفاتيح، وتشفير/فك تشفير الرسائل، وتوقيع المعاملات في ويكي مشروع ADAMANT على GitHub.

التخزين على البلوكشين والحواسيب الكمية

يشعر بعض المستخدمين بالقلق من أن التخزين الدائم للرسائل المشفرة على البلوكشين قد يُشكل ثغرة مستقبلية: فبمجرد بلوغ الحواسيب الكمية مرحلة النضج، هل يمكن فك تشفير جميع المراسلات المخزنة بشكل رجعي؟

هذا القلق ليس خاصًا بـ ADAMANT. فالتحليل التشفيري الكمي يهدد البيئة التقنية بأكملها — الأسرار الحكومية، وحركة الإنترنت، والبيانات المخزنة — لأن جميع الأنظمة الحديثة تقريبًا تعتمد على نفس العائلات من البدائل التشفيرية. كما أن برامج المراقبة الجماعية مثل PRISM تقوم بالفعل بجمع وحفظ حركة البيانات، وبالتالي يمكن استهداف البيانات المشفرة اليوم بواسطة تقدم مستقبلي في التحليل التشفيري بغض النظر عن المنصة المستخدمة.

التحليل التشفيري الكمي ليس عصا سحرية. فهو يوفر تسريعات نظرية لبعض المسائل، لكن الخوارزميات الحالية تحوي هامش أمان كبير قد يجعل هذه التسريعات غير فعالة عمليًا. علاوةً على ذلك، لا يمكن للمهاجم فك تشفير البلوكشين بالكامل دفعة واحدة؛ فكل حساب يستخدم مفاتيح تشفير مختلفة، وبالتالي يجب بذل جهد لكل حساب على حدة. وبما أن حسابات ADAMANT مجهولة، فعلى المهاجم أولًا تحديد الحسابات التي تستحق الاستهداف.

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