Skip to content

Latest commit

Β 

History

History
102 lines (87 loc) Β· 7.03 KB

File metadata and controls

102 lines (87 loc) Β· 7.03 KB

ProvenCrypto.jl β€” Project Topology

System Architecture

                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚          EXTERNALS / HARDWARE           β”‚
                        β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
                        β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
                        β”‚  β”‚ libsodium  β”‚ ◀──▢ β”‚ BoringSSL  β”‚     β”‚
                        β”‚  β”‚ (Verified) β”‚      β”‚ (Classical)β”‚     β”‚
                        β”‚  β””β”€β”€β”€β”€β”€β–²β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β–²β”€β”€β”€β”€β”€β”€β”˜     β”‚
                        β”‚        β”‚                   β”‚            β”‚
                        β”‚  β”Œβ”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”     β”‚
                        β”‚  β”‚ GPU / TPU  β”‚      β”‚ Secure     β”‚     β”‚
                        β”‚  β”‚ (Accel.)   β”‚      β”‚ Enclaves   β”‚     β”‚
                        β”‚  β””β”€β”€β”€β”€β”€β–²β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β–²β”€β”€β”€β”€β”€β”€β”˜     β”‚
                        β”‚        β”‚                   β”‚            β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                 β”‚                   β”‚
                                 β–Ό                   β”‚
                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚           APPLICATION LAYER             β”‚
                        β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
                        β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
                        β”‚  β”‚ Post-Quantum     β”‚      β”‚ Protocolsβ”‚ β”‚
                        β”‚  β”‚ (Kyber/Dilith.)  β”‚ ───▢ β”‚ (Noise)  β”‚ β”‚
                        β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β”‚
                        β”‚           β”‚                      β”‚      β”‚
                        β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β” β”‚
                        β”‚  β”‚   Zero-          β”‚      β”‚ Thresholdβ”‚ β”‚
                        β”‚  β”‚   Knowledge      β”‚ ───▢ β”‚ Crypto   β”‚ β”‚
                        β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β”‚
                        β”‚           β”‚                      β”‚      β”‚
                        β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β” β”‚
                        β”‚  β”‚   Formal         β”‚      β”‚ Hardware β”‚ β”‚
                        β”‚  β”‚   Verification   β”‚ ◀──▢ β”‚ Dispatch β”‚ β”‚
                        β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                               β”‚
                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚         REPO INFRASTRUCTURE             β”‚
                        β”‚  .machine_readable/ (state)             β”‚
                        β”‚  .github/workflows/ (RSR Gate)          β”‚
                        β”‚  Project.toml                           β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Completion Dashboard

COMPONENT                          STATUS              NOTES
─────────────────────────────────  ──────────────────  ─────────────────────────────────
POST-QUANTUM
  Kyber (KEM)                       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 100%    NIST PQC compliant
  Dilithium (Signatures)            β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 100%    NIST PQC compliant
  SPHINCS+                          β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 100%    Hash-based signatures

PROTOCOLS & PRIMITIVES
  Noise Protocol Framework          β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 100%    Modern secure channels
  Signal Protocol                   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘  80%    Double Ratchet implemented
  libsodium FFI                     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 100%    Verified primitives bridge

VERIFICATION & HARDWARE
  Formal Proofs (Idris2/Lean)       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘  80%    Correctness certificates
  Hardware Acceleration             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 100%    GPU/TPU/NPU detection
  Secure Enclaves                   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘  60%    SGX/SEV in progress

REPO INFRASTRUCTURE
  .machine_readable/ (STATE.scm)    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘  60%    Needs repo-specific update
  .github/workflows/ (CI)           β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 100%    RSR standard compliance

─────────────────────────────────────────────────────────────────────────────
OVERALL:                            β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘  ~90%   Feature Complete (Research)

Key Dependencies

libsodium FFI ──────► Protocols (Noise) ──────► Hardware Accel
                                                   β”‚
Post-Quantum ───────► Formal Proofs ──────────► COMPLETE

Update Protocol

This file is maintained by both humans and AI agents. When updating:

  1. After completing a component: Change its bar and percentage
  2. After adding a component: Add a new row in the appropriate section
  3. After architectural changes: Update the ASCII diagram
  4. Date: Update the Last updated comment at the top of this file

Progress bars use: β–ˆ (filled) and β–‘ (empty), 10 characters wide. Percentages: 0%, 10%, 20%, ... 100% (in 10% increments).