
مرجع تنفيذي للمصادقة ما بعد-الكمية LR+ في سياق WebPKI CA، مع خط أنابيب المجموعة النصية، وإعادة البناء، والتقييم، وبيانات الإسناد لإجراء أبحاث قابلة للتكرار.
تحتوي هذه الحزمة على تنفيذ LR+ المرجعي النهائي، وأغلفة إعادة البناء الإنتاجية، والاختبارات، ومخرجات التقييم المُولّدة للمصادقة ما بعد الكمومية المغلقة السياق عبر سياق CA الخاص بـ WebPKI.
كُتبت الحزمة عمدًا كقطعة تسليم بدلاً من لقطة سجل بحثي: أسماء الأهداف، وأسماء الملفات، وأسماء الوحدات، والتقارير تستخدم مصطلحات تنفيذ مستقرة.
src/lrplus/ وحدات LR+ المرجعية
scripts/ تنزيل المجموعة، البناء، إعادة البناء، التقييم، والفحوصات
config/ تكوين إعادة البناء والتنزيل المثبّت
results/ المخرجات الإنتاجية المُولّدة المستخدمة في الورقة
audit/ تقرير التتبع وقائمة تجزئات المخرجات
backups/ قائمة بنسخة احتياطية لمجموعة الإدخال قبل إعادة البناء
data/ccadb_full/ قائمة تنزيل CCADB وتجزئات الملفات
working_corpus/ قائمة إعادة بناء المجموعة للحزمة المضغوطة
tests/ اختبارات البروتوكول واتساق القطعة
تحتوي الحزمة المضغوطة على القوائم والنتائج المُولّدة. إعادة التوليد الكاملة من الصفر تتطلب وصولاً إلى الإنترنت ووصولاً إلى خط أنابيب WebPKI الحالي الذي يوفر scripts/normalize_ccadb.py و scripts/build_graph.py.
استخدم Python 3.9 أو أحدث. الإعداد النموذجي هو:
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .
يستخدم محوّل ML-DSA-44 حزمة pqcrypto==0.4.0. إذا كان هذا الخلف غير متاح، يتم تخطي اختبار ML-DSA الحقيقي بينما تستمر بقية اختبارات المرجع في العمل. لبوابة التحقق الإنتاجية، ثبّت جميع التبعيات من pyproject.toml.
يفوّض غلاف CCADB التطبيع وبناء الرسم البياني إلى خط أنابيب WebPKI الحالي. عيّن أحد الخيارات التالية قبل تشغيل بناء كامل:
export WEBPKI_PIPELINE_ROOT=/path/to/existing_webpki_pipeline
أو مرر المسار عبر Make:
make verify PIPELINE_ROOT=/path/to/existing_webpki_pipeline
يجب أن يحتوي جذر خط الأنابيب على:
scripts/normalize_ccadb.py
scripts/build_graph.py
الأمر الوحيد هو:
make verify PIPELINE_ROOT=/path/to/existing_webpki_pipeline
ينفذ المراحل التالية بالترتيب.
make backup-corpus
ينسخ هذا الدلائل الفرعية الحالية working_corpus/{raw,normalized,graph,outputs_scc_repaired}، عند وجودها، إلى backups/input_corpus_<timestamp>/ ويكتب manifest.json و file_inventory.csv و SHA256SUMS.
make download-ccadb
يستخدم هذا config/ccadb_download.yaml ويكتب:
data/ccadb_full/download_manifest.json
data/ccadb_full/SHA256SUMS
يسجل القائمة علامة crtsh/ccadb_data المحددة، والالتزام، وتجزئة سجل شهادة V5، ونطاق ملفات PEM السنوية، وتجزئة إدخال الثقة الجذرية.
make build-corpus PIPELINE_ROOT=/path/to/existing_webpki_pipeline
يحضّر الغلاف ملفات CCADB المُنزّلة تحت working_corpus/raw/ ثم يستدعي مُطبّع خط الأنابيب الحالي وباني الرسم البياني. يكتب:
working_corpus/rebuild_manifest.json
working_corpus/normalized/certificates.parquet
working_corpus/normalized/records.parquet
working_corpus/outputs_scc_repaired/graph.json
make test
تغطي مجموعة الاختبارات المعرّفات الأساسية، وتحليل الأسلاك الدافئة، وربط الطرف الحالي، وتطبيع تدفق الأنواع، والتفاوض، ودلتا اللحاق بالنطاق، وتسلسل الحالة المصادق عليها، ومخطط مخرجات إعادة البناء، وتكامل ML-DSA عند تثبيت الخلف.
make reconstruct
يقرأ هذا config/reconstruction.yaml ويصدر صفًا واحدًا لكل سياق مسار/عرض محدد:
results/path_view_trace.csv
results/typed_dependency_records.csv
results/view_root_sets.csv
results/reconstruction_gate.json
يسجل كل صف مسار العرض، ومعرّفات الشهادات الملموسة، والسلالة المحددة، ومعرّف المسار، ومراجع التبعية المكتوبة، وأنواع التبعية، والبايتات الدافئة، والبايتات الأساسية، وتجزئات ربط الطرف.
make evaluate
يحسب هذا:
results/global_summary.json
results/per_view_summary.csv
results/per_view_dependency_records.csv
results/catalog_summary.csv
results/lifecycle_per_view.csv
results/byte_accounting.json
صيغ محاسبة البايتات هي:
LR+ warm profile-hint: 8 + 48*m
SPB: 2588 + 209*m
Profile S: 3569 + 904*m
Full per-dependency PQ: m*(2420 + 209)
Range catch-up delta: 2584 + 264*k_total
Consecutive deltas: r*(2584 + 264*k_per_epoch)
make check
يتحقق هذا من المخرجات المطلوبة، وقوائم المصادر المثبّتة، وصيغ البايتات لكل صف، ومعرّفات المسارات، وتجزئات الطرف، وتغطية سجلات التبعية، والعروض المكوّنة، وتسلسل الحالة لكل عرض، وتوفر الكتالوج. يكتب:
results/check_results.json
يجب أن تكون الحالة PASS.
make freeze
يكتب هذا:
audit/implementation_manifest.json
يسجل القائمة معلومات المنصة، وبيانات المصدر المثبّتة، وبيانات بناء المجموعة، وتجزئات SHA-256 لجميع ملفات النتائج المُولّدة.
بعد بناء المجموعة بالفعل، شغّل:
make verify-fast
يتخطى هذا مراحل النسخ الاحتياطي والتنزيل وبناء المجموعة ويعيد تشغيل الاختبارات وإعادة البناء والتقييم والفحوصات وتجميد القائمة من المجموعة المحلية الحالية.
تُبلغ المخرجات المُولّدة المرفقة عن:
سياقات المسار/العرض: 44,912
سلالات CA الفيزيائية المميزة: 16,858
سجلات التبعية المكتوبة: 72,020
m50 / m95 / mmax العالمية: 6 / 16 / 18
تلميح ملف LR+ الدافئ: 296 / 776 / 872 بايت
SPB: 3,842 / 5,932 / 6,350 بايت
ملف S: 8,993 / 18,033 / 19,841 بايت
PQ كامل لكل تبعية: 15,774 / 42,064 / 47,322 بايت
الحالة المحتفظ بها: 16,150,580 بايت
نقطة تفتيش موقعة: 16,160,724 بايت
الملخصات لكل عرض موجودة في results/per_view_summary.csv.
يستخدم التنفيذ أسماء LR+ النهائية لملفات المصدر والبرامج النصية والأهداف والتكوين والتقارير. لا يتم تحرير المخرجات التشفيرية يدويًا بما يتجاوز البيانات الوصفية النصية المستقرة. بصمات الشهادات السداسية العشرية ومراجع السجلات والتجزئات قد تحتوي بشكل طبيعي على سلاسل فرعية عشوائية؛ هذه بيانات وليست مصطلحات عملية.