
Shamir's Secret مسحور تشفيريًا.

عادةً ما يفتح عالم التشفير أو المنفذ الجاد الذي يراجع CESS المجلدين vectors/ وtestdata/ قبل قراءة النثر. مجموعة الاختبارات هي دليل العمل: فهي تُجسّد معرفةً في المجال لا يمكن استبدالها بالسرد وحده.
هذا ليس سببًا لإخفاء الهدف عن الآخرين. الأشخاص الذين يقيّمون المشروع لأغراض الشراء، أو يقررون ما إذا كانوا سيساهمون، أو يكتبون سياسات، أو يشحنون كودًا دون تدريب عميق على منهجيات اختبار التشفير، لا يزالون يستحقون إشارة إلى الأدلة الملموسة. يذكر المستودع بالفعل قواعد التدقيق واستثناءات الخوارزميات؛ ربط تلك القصة بـ نواقل اختبار منشورة يسد الفجوة بين "ادعاءات على الصفحة" و"قطع أثرية يمكنك تشغيلها".
ما الذي تنظر إليه: تتضمن مواد المطابقة أمثلة عملية من RFC 8439 لـ ChaCha20-Poly1305 (مصادقة التشفير (AEAD) التابعة لـ IETF التي يشير إليها هذا المشروع معياريًا) وملفات JSON الموردة من Wycheproof لحالات الحافة لـ ChaCha20-Poly1305 ضمن testdata/wycheproof/. إلى جانب نواقل TOML الخاصة بالمشروع في vectors/، فهي الحقيقة الأساسية التي يمكن للمشغل والمراجعين اختبارها.
RFC 8439 منشورة من قبل فريق عمل هندسة الإنترنت (IETF)، المنظمة التي تُوحّد الكثير من كيفية عمل الإنترنت. الـ RFCs (طلب التعليقات) هي الشكل المعتاد للعديد من مواصفات البروتوكولات والتشفير. RFC 8439 تعرّف تشفير المصادقة ChaCha20-Poly1305 (بناءً على تصاميم دانييل بيرنشتاين) وتتضمن أمثلة عملية ملموسة بمدخلات ومخرجات متوقعة بحيث يمكن للتنفيذات المستقلة التحقق من تطابقها مع المعيار بايت ببايت. النص العادي المعاد إنتاجه على نطاق واسع والذي يبدأ بـ Ladies and Gentlemen of the class of '99: wear sunscreen يظهر في أمثلة ملحق الـ RFC: إذا أعاد كودك إنتاج مخرجات AEAD تمامًا، فلديك فحص قوي بأنك نفذت البناء بشكل صحيح. إنه النظير التشفيري لورقة الإجابة الرسمية. (الـ RFC 7539 الأسبق وثق ChaCha20 و Poly1305 لسياقات IETF أخرى؛ RFC 8439 هو المرجع المعتاد لـ AEAD كما هو مستخدم هنا وفي spec/CESS-v0.2.md.)
Wycheproof هو مجموعة اختبار أصدرها فريق الأمان في Google (2017). يشير الاسم إلى جبل Wycheproof في أستراليا — غالبًا ما يُستشهد به كأصغر جبل في العالم — لأن المشروع يركز على تجاوز العقبات الصغيرة ولكن القاتلة: فيضانات الأعداد الصحيحة، حالات الحدود، المدخلات المشوهة، وعلامات المصادقة المعدلة؛ الإخفاقات التي تظهر مرارًا في التشفير المنشور الفعلي. إنها تُكمل نواقل نمط RFC: أمثلة نمط RFC 8439 تُظهر الصحة مقابل AEAD المنشور؛ Wycheproof يُضغط على المتانة حيث تفشل التنفيذات تاريخيًا.
ما يقوله هذا عن هذا المعيار يعود للقارئ المطّلع.
يمكن للمرء أيضًا التحقق من سلامة الصناديق (crates) مع هذا عندما يُغلق طلب السحب: https://github.com/rust-lang/cargo/issues/16850
الإصدار: 0.2
الحالة: مواصفات فقط (نص معياري ونواقل اختبار)
هذا المشروع مسجّل في شبكة الاختراع المفتوح (OIN)، وهو مجمع براءات اختراع دفاعي يحمي البرامج مفتوحة المصدر المرتبطة بلينكس. يهدف الجمع بين النشر المسبق المفتوح (تحديد الفن السابق)، وعضوية OIN، وترخيص GPL-3.0 إلى ضمان بقاء هذه التقنية متاحة بحرية وعدم إمكانية تملكها أو تقييدها من قبل أي دولة أو جهة تجارية.
CESS هو معيار تشفير مفتوح لـ مشاركة الأسرار السرية بالعتبة (threshold secret sharing) مع تشفير مصادق مستقل عن الشيفرة (cipher-agnostic authenticated encryption)، تغليف المشاركات بكلمة مرور (password-based share wrapping)، وخيار تبادل مفاتيح هجين آخر-كمي (post-quantum hybrid key exchange). صُمم للنشر الذي يتطلب سرية طويلة الأمد، تسجيلًا معزولًا عن الشبكة (air-gapped enrollment)، ربط الرموز المادية (hardware token binding)، ومسارات شراء مستقلة عن خطوط الأساس للخوارزميات التي تعتمد فقط على NSA/NIST.
يمكن للقراء غير التقنيين البدء بـ المسرد (مصطلحات بلغة مبسطة من الألف إلى الياء).
الأنظمة البيئية الحالية تعالج أجزاء من هذه المشكلة لكنها تترك فجوات:
CESS يُحدد المعيار؛ SplitDisk (والمنتجات المماثلة) هي سيناريوهات مرجعية ونماذج نشر، وليست المعيار نفسه.
CESS يُثبّت مشاركة الأسرار السرية لشامر على حقل GF(2^8) وعدة أوليات غير اختيارية مُدقّقة للنزاهة وكلمة المرور. جميع طبقات التشفير الكثيف، KEM، KDF، وMAC هي قابلة للاختيار من سجل مُدقّق، مع مراعاة قاعدة المدققين المستقلين وقائمة الاستبعاد الصارم (انظر spec/CESS-v0.2.md و ALGORITHM-REGISTRY.md).
منحنيات حقل NIST الأولية المستخدمة على نطاق واسع في الحكومة والصناعة الأمريكية (P-256، P-384، P-521) تم اختيارها من خلال عملية لعب فيها NSA دورًا موثقًا. CESS لا يعتمد على دليل رياضي واحد على ضعف تلك المنحنيات؛ يطبق استبعادًا سياساتيًا بحيث يمكن للمعيار أن يخدم مسارات الشراء، الاتصال، والهندسة التي تتطلب تشفيرًا مبررًا خارج خط أساس NSA/NIST فقط وتفضل الأوليات التي تمت مراجعتها بشكل مستقل (انظر spec/CESS-v0.2.md القسم 3 و ALGORITHM-REGISTRY.md).
ECDH الكلاسيكي في CESS يستخدم منحنيات Brainpool (RFC 5639) بدلاً من ذلك. معاملاتها منتجة بواسطة قواعد إنشاء منشورة وهي مناسبة طبيعيًا لمناقشات متوافقة مع BSI ومركزة على الاتحاد الأوروبي مع تغطية أهداف قوة مماثلة (مثل BrainpoolP384r1 مقابل أمان فئة P-384) دون اعتماد عائلة منحنيات NIST المستبعدة.
التفاصيل: spec/CESS-v0.2.md القسم 3، spec/CRYPTO.md، و ALGORITHM-REGISTRY.md.
يلتزم المساهمون بـ تعهد عدم المطالبة ببراءات الاختراع في PATENTS.md. المشروع مسجّل في شبكة الاختراع المفتوح (OIN)، وهو مجمع براءات اختراع دفاعي للبرامج مفتوحة المصدر المرتبطة بلينكس. الترخيص المتبادل عبر OIN لا يغطي بمفرده الأطراف خارج هذا النظام البيئي؛ التعهد يهدف إلى سد تلك الفجوة للتنفيذات المطابقة.
انظر CONTRIBUTING.md. طلبات السحب (Pull requests) تُعامل على أنها اتفاق مع PATENTS.md. تتطلب تغييرات المواصفة مراجعَين من دولتين مختلفتين. الخوارزميات الجديدة تُضاف عبر ALGORITHM-REGISTRY.md (افتح PR ضد السجل، ثم ضد spec/CESS-v0.2.md إذا لزم الأمر لإضافة مراجع متبادلة).
ALGORITHM-REGISTRY.md (جدول الأدلة، تعيين المعرف).vectors/ لتغطية المجموعة الجديدة.CONTRIBUTING.md.CESS هو المعيار. SplitDisk هو سيناريو تنفيذي نموذجي (مثل تشفير القرص بالإضافة إلى توزيع المشاركات)؛ مواصفة الأداة موجودة في ذلك المستودع. يمكن للمنتجات أن تدّعي مطابقة CESS-CORE أو CESS-FULL أو CESS-PQ حسب CONFORMANCE.md دون استخدام اسم SplitDisk.
| المسار | الدور |
|---|
spec/CESS-v0.2.md | المعيار المعياري الرئيسي (كلمات RFC 2119) |
spec/CRYPTO.md | المبررات التشفيرية ومسودات البراهين |
spec/GOVERNMENT.md | ملاحظات النشر الحكومي وعالي الأمان |
ALGORITHM-REGISTRY.md | سجل حي للخوارزميات المعتمدة والمستبعدة |
GLOSSARY.md | مسرد بلغة مبسطة لمصطلحات التشفير و CESS (من الألف إلى الياء) |
vectors/ | نواقل اختبار قابلة للقراءة آليًا (TOML: ChaCha/Serpent/Twofish bulk, integration, إلخ)؛ CC0 |
testdata/wycheproof/ | ملفات JSON موردة من Wycheproof لـ ChaCha20-Poly1305 (ترخيص Apache-2.0 للمصدر الأصلي)؛ انظر testdata/wycheproof/README.md |
scripts/ | مساعدات توليد النواقل (GPL-3.0 حيث يكون كودًا) |
runner/ | مشغل اختبار المطابقة (Rust, GPL-3.0) |
LICENSE-SPEC | CC0 1.0 — المواصفة والنواقل |
LICENSE-CODE | GPL-3.0 — الكود |
PATENTS.md | سياق OIN وتعهد عدم المطالبة ببراءات الاختراع للمساهمين |
CONTRIBUTING.md | قواعد المساهمة وسياسة المراجعة |
CONFORMANCE.md | كيفية الادعاء بالتوثيق للمطابقة |
IMPLEMENTATIONS.md | قائمة اختيارية للمنتجات المطابقة |
| المحتوى | الرخصة |
|---|
نثر المواصفة (spec/*.md)، README.md، ALGORITHM-REGISTRY.md، GLOSSARY.md، vectors/*.toml | CC0 1.0 Universal (إهداء للملكية العامة) — انظر LICENSE-SPEC |
مشغل Rust، التنفيذات المرجعية، scripts/serpent_helper/ | GNU GPL v3.0 — انظر LICENSE-CODE |