
LR+ पोस्ट-क्वांटम प्रमाणीकरण का संदर्भ कार्यान्वयन WebPKI CA संदर्भ में, जिसमें कॉर्पस पाइपलाइन, पुनर्निर्माण, मूल्यांकन, और पुनरुत्पादनीय शोध के लिए प्रोवेनेंस मैनिफेस्ट शामिल हैं।
इस पैकेज में अंतिम LR+ संदर्भ कार्यान्वयन, उत्पादन पुनर्निर्माण रैपर, परीक्षण, और WebPKI CA संदर्भ पर संदर्भ-बंद पोस्ट-क्वांटम प्रमाणीकरण के लिए उत्पन्न मूल्यांकन आउटपुट शामिल हैं।
पैकेज जानबूझकर शोध-लॉग स्नैपशॉट के बजाय एक सबमिशन आर्टिफैक्ट के रूप में लिखा गया है: लक्ष्य नाम, फ़ाइलनाम, मॉड्यूल नाम, और रिपोर्ट स्थिर कार्यान्वयन शब्दावली का उपयोग करते हैं।
src/lrplus/ LR+ संदर्भ मॉड्यूल
scripts/ कॉर्पस डाउनलोड, बिल्ड, पुनर्निर्माण, मूल्यांकन, और जाँच
config/ पिन किया गया पुनर्निर्माण और डाउनलोड कॉन्फ़िगरेशन
results/ पेपर द्वारा उपयोग किए गए उत्पन्न उत्पादन आउटपुट
audit/ प्रोवेनेंस रिपोर्ट और आउटपुट-हैश मैनिफेस्ट
backups/ पुनर्निर्माण से पहले किए गए इनपुट-कॉर्पस बैकअप के लिए मैनिफेस्ट
data/ccadb_full/ CCADB डाउनलोड मैनिफेस्ट और फ़ाइल हैश
working_corpus/ कॉम्पैक्ट बंडल के लिए कॉर्पस पुनर्निर्माण मैनिफेस्ट
tests/ प्रोटोकॉल और आर्टिफैक्ट स्थिरता परीक्षण
कॉम्पैक्ट बंडल में मैनिफेस्ट और उत्पन्न परिणाम शामिल हैं। पूरी तरह से नया पुनर्जनन इंटरनेट एक्सेस और मौजूदा WebPKI कॉर्पस पाइपलाइन तक पहुंच की आवश्यकता है जो scripts/normalize_ccadb.py और प्रदान करती है।
scripts/build_graph.pyPython 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
प्रत्येक पथ पंक्ति दृश्य, ठोस प्रमाणपत्र ID, चयनित वंशावली, पथ ID, टाइप किए गए निर्भरता संदर्भ, निर्भरता प्रकार, वार्म बाइट्स, बेसलाइन बाइट्स, और टर्मिनल-बाइंडिंग डाइजेस्ट रिकॉर्ड करती है।
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
यह आवश्यक आउटपुट, पिन किए गए स्रोत मैनिफेस्ट, प्रति-पंक्ति बाइट सूत्र, पथ ID, टर्मिनल डाइजेस्ट, निर्भरता-रिकॉर्ड कवरेज, कॉन्फ़िगर किए गए दृश्य, प्रति-दृश्य स्थिति क्रमांकन, और कैटलॉग उपलब्धता सत्यापित करता है। यह लिखता है:
results/check_results.json
स्थिति PASS होनी चाहिए।
make freeze
यह लिखता है:
audit/implementation_manifest.json
मैनिफेस्ट प्लेटफ़ॉर्म जानकारी, पिन किए गए स्रोत मेटाडेटा, कॉर्पस-बिल्ड मेटाडेटा, और सभी उत्पन्न परिणाम फ़ाइलों के SHA-256 हैश रिकॉर्ड करता है।
कॉर्पस पहले ही बन जाने के बाद, चलाएं:
make verify-fast
यह बैकअप, डाउनलोड, और कॉर्पस-बिल्ड चरणों को छोड़ देता है और वर्तमान स्थानीय कॉर्पस से परीक्षण, पुनर्निर्माण, मूल्यांकन, जाँच, और मैनिफेस्ट फ्रीज़िंग को फिर से चलाता है।
बंडल किए गए उत्पन्न आउटपुट रिपोर्ट करते हैं:
path/view contexts: 44,912
distinct physical CA lineages: 16,858
typed dependency records: 72,020
global m50 / m95 / mmax: 6 / 16 / 18
LR+ warm profile-hint: 296 / 776 / 872 bytes
SPB: 3,842 / 5,932 / 6,350 bytes
Profile S: 8,993 / 18,033 / 19,841 bytes
full per-dependency PQ: 15,774 / 42,064 / 47,322 bytes
retained state: 16,150,580 bytes
signed checkpoint: 16,160,724 bytes
प्रति-दृश्य सारांश results/per_view_summary.csv में हैं।
कार्यान्वयन स्रोत फ़ाइलों, स्क्रिप्ट, लक्ष्यों, कॉन्फ़िगरेशन, और रिपोर्ट के लिए अंतिम LR+ नामों का उपयोग करता है। क्रिप्टोग्राफ़िक आउटपुट स्थिर पाठ्य मेटाडेटा से परे मैन्युअल रूप से संपादित नहीं किए जाते हैं। हेक्साडेसिमल प्रमाणपत्र फ़िंगरप्रिंट, रिकॉर्ड संदर्भ, और डाइजेस्ट स्वाभाविक रूप से मनमाने उपस्ट्रिंग शामिल कर सकते हैं; ये डेटा हैं, प्रक्रिया शब्दावली नहीं।