كيف يعمل

لا اختراعات - فقط بنى أساسية مدروسة جيدًا: BIP-39 وX25519 وHKDF-SHA256 وXChaCha20-Poly1305. إليك المسار كاملًا، بلغة بسيطة.

12 كلمة هي الهوية كلها

يبدأ الملف الشخصي من عبارة استرداد BIP-39 - 12 كلمة إنجليزية تحمل 128 بتًا من الإنتروبيا. تُمدَّد الكلمات إلى بذرة، ويشتق HKDF منها زوج مفاتيح التشفير. الكلمات نفسها على أي جهاز تستعيد المفاتيح نفسها: لا يوجد «حساب» يجب استرجاعه، بل العبارة فقط.

العنوان هو المفتاح العام

مفتاحك العام X25519، مرمّزًا بترميز bech32 مع البادئة sk، هو عنوانك - نحو 60 حرفًا يبدأ بـ sk1. شاركه نصًا أو رمز QR. لا يوجد دليل يجب التسجيل فيه، ولا خادم يربط الأسماء بالأشخاص.

sk1qsva3e52awafjvedj5ethvc5hs9j4t0ml26m83kn6kycsh9m46rejzha

الرسالة تتحول إلى ظرف

يُشفَّر النص مرة واحدة بمفتاح رسالة عشوائي باستخدام XChaCha20-Poly1305. ثم يُغلَّف هذا المفتاح في فتحة لكل مستلم - ودائمًا في فتحة إضافية لك أنت. لهذا تبقى رسائلك المرسلة قابلة للقراءة: فك تشفير سجلّك هو العملية نفسها التي تقرأ بها الرسائل الواردة.

الفتحات مجهولة ومخلوطة: لا يحمل الظرف أي عناوين، فلا يرى المراقب الخارجي سوى الأحجام. يُتَّفق على مفتاح كل فتحة عبر مصافحتي X25519 - واحدة بمفتاح مؤقت يُولَّد لهذا الظرف (forward secrecy)، وأخرى بالمفتاح الدائم للمرسل (توثيق المرسل).

الإصدار 1 بايت مفتاح المرسل 32 بايت المفتاح المؤقت 32 بايت الفتحات 48 بايت لكل فتحة nonce 24 بايت النص المشفّر + الوسم الحمولة
بنية الظرف (الإصدار 2)

الظرف يسافر كنص عادي

يُغلَّف الظرف الثنائي بترميز base64 داخل كتلة مدرَّعة. وهو مكتفٍ بذاته: الصقه في تطبيق مراسلة أو بريد إلكتروني أو منشور في منتدى أو ملف - أي قناة توصل النص توصل رسائل Secret Keeper.

-----BEGIN SECRET MESSAGE V1-----
AlXhZ0Qq7bfPj…base64…M42kLBi6p4Jro
-----END SECRET MESSAGE V1-----

الملفات: حاوية .skf

تستخدم الملفات مخطط الفتحات نفسه، لكن الجسم يُشفَّر على أجزاء بحيث يمر فيديو بحجم عدة غيغابايتات تدفقيًا دون تحميله في الذاكرة. تتبع قيم nonce للأجزاء بنية STREAM (كما في age وTink): عدّاد يكشف إعادة الترتيب والتكرار، وبايت نهائي يكشف البتر. حتى اسم الملف يقع داخل الترويسة المشفّرة.

النسخ الاحتياطية

النسخة الاحتياطية ملف .skb: الإعدادات وجهات الاتصال والسجل في حاوية واحدة مشفّرة لنفسك - بالمخطط نفسه المستخدم للملفات المشفّرة، فلا يُقرأ من الخارج شيء، ولا حتى عناوين جهات الاتصال. عبارة الاسترداد لا تكون في النسخة أبدًا - يُستعاد الملف الشخصي بالكلمات الاثنتي عشرة، وتعيد النسخة كل ما حولها.

ما الذي يمنحه هذا

Forward secrecy
مفتاح مؤقت جديد لكل ظرف
المرسل يقرأ رسائله
فتحة خاصة بك في كل ظرف ترسله
لا حالة
لا جلسات ثنائية، ولا شيء مخزّن على خوادم
لا معرّفات مستخدمين
العنوان هو المفتاح العام نفسه
تنفيذان
Dart في التطبيق و@noble في الامتداد - يُتحقق منهما تبادليًا بمتجهات اختبار مشتركة

أتريد التحقق؟

المواصفة الكاملة على مستوى البايت علنية - وهي الوثيقة نفسها التي يُختبر عليها التطبيق والامتداد:

اقرأ مواصفة البروتوكول