Spaces:
Sleeping
Sleeping
| # QCrypt RNG β Project Overview | |
| A high-level explanation of what QCrypt RNG is, what it does, and how it is built. | |
| --- | |
| ## What Is QCrypt RNG? | |
| **QCrypt RNG** is a platform for **quantum-enhanced randomness** and **post-quantum cryptography**. It exposes a REST API and web UI for: | |
| - Generating cryptographically secure random data using quantum-style entropy | |
| - Running NIST-standard post-quantum algorithms (signatures and key exchange) | |
| - Providing a verifiable random function (VRF) for blockchains | |
| - Encrypting and protecting data with quantum-derived keys | |
| It is intended for developers, researchers, and teams building quantum-resistant or blockchain-facing applications. | |
| --- | |
| ## Core Capabilities | |
| ### 1. Quantum Random Number Generation (QRNG) | |
| - **Random bytes** β Configurable length and qubit count (8/12/16) | |
| - **Keys** β AES, RSA, ECDSA keys with quantum entropy | |
| - **UUIDs** β RFC 4122 v4 UUIDs | |
| - **Passwords** β Configurable length and character sets | |
| - **Session tokens** β URL-safe, with optional expiry | |
| - **Batch mode** β Multiple samples in parallel | |
| **How it works:** The system uses a pluggable backend (simulation, Qrisp, or real hardware). Random values are obtained from a hardware abstraction layer, post-processed with SHA3-256, and mixed with system entropy. Results are stored in an entropy pool for quality checks (Shannon entropy, min-entropy, chi-square). | |
| --- | |
| ### 2. Post-Quantum Cryptography (PQC) | |
| Supports NIST-standard algorithms via **liboqs** (with fallbacks when liboqs is not available). | |
| **Signature schemes:** | |
| - **DILITHIUM** β Level 2, 3, 5 | |
| - **FALCON** β 512 / 1024 | |
| - **SPHINCS+** β Hash-based variant (e.g., SHA2-128f) | |
| **Key encapsulation (KEM):** | |
| - **Kyber** β 512 / 768 / 1024 | |
| - **NTRU-HPS** β 2048-509, 2048-677 | |
| - **SABER** β LIGHTSABER, SABER, FIRESABER | |
| The Kyber KEM flow includes: | |
| 1. Recipient generates a keypair | |
| 2. Sender encapsulates a shared secret with the recipientβs public key | |
| 3. Recipient decapsulates with their private key | |
| 4. Both derive the same shared secret for symmetric cryptography | |
| --- | |
| ### 3. Quantum VRF (Verifiable Random Function) | |
| A VRF backed by quantum entropy with a **commitβreveal** flow: | |
| 1. **Seed** β 32-byte quantum seed is generated and committed via Keccak-256 | |
| 2. **Prove** β For any input (alpha), output = Keccak256(seed || alpha) | |
| 3. **Reveal** β Seed is revealed so anyone can verify | |
| 4. **Verify** β Checks that commitment and output match the seed and alpha | |
| The Keccak-256 format is compatible with Ethereum/Solidity. | |
| --- | |
| ### 4. On-Chain Oracle Fulfillment | |
| Supports submit-and-fulfill oracle randomness on blockchains: | |
| - **Chains:** Ethereum, Polygon, BSC, Avalanche, Fantom | |
| - **Flow:** Configure chain (RPC, private key, explorer), create request, commit on-chain, reveal randomness | |
| - **Status:** Track PENDING β COMMIT_SUBMITTED β REVEAL_CONFIRMED β COMPLETED | |
| - **Retry:** Retry failed fulfillments | |
| --- | |
| ### 5. Data Protection | |
| - **Encryption** β AES-256-GCM, AES-128-GCM, AES-256-CBC (quantum or user keys) | |
| - **File encryption** β Up to 10 MB | |
| - **Signing** β HMAC-SHA256, HMAC-SHA512 | |
| - **Hashing** β SHA3-256, SHA3-512, PBKDF2-SHA256, BLAKE2b-256 | |
| - **Salt** β Quantum-generated salts for hashing | |
| --- | |
| ### 6. Blockchain Security Tools | |
| - **Wallet creation** β Compare classical (ECDSA) vs quantum-safe (DILITHIUM/KYBER) wallets | |
| - **Attack simulation** β Simulate Shorβs algorithm on RSA, ECDSA, DILITHIUM, KYBER | |
| - **Blockchain comparison** β Side-by-side vulnerable vs quantum-safe chain models | |
| - **Demo mining** β Proof-of-work-style mining for both types | |
| --- | |
| ### 7. Threat Intelligence | |
| - **Algorithm assessment** β βQubits to breakβ and migration guidance for RSA, ECDSA, etc. | |
| - **Oracle benchmark** β Latency and throughput | |
| - **Entropy quality** β Shannon entropy, min-entropy, chi-square, autocorrelation | |
| --- | |
| ### 8. Quantum Hardware Abstraction | |
| Pluggable backends for different sources: | |
| - **Simulation** β Classical fallback for dev/demo | |
| - **Qrisp** β Quantum simulation when available | |
| - **ID Quantique Quantis** β Photonic QRNG (USB, PCIe, network) | |
| - **QuintessenceLabs qStream** β Photonic QRNG over TCP/IP | |
| Includes entropy quality checks (NIST SP 800-90Bβstyle analysis). | |
| --- | |
| ## Architecture | |
| ``` | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| β Next.js Dashboard (quantum-oracle-ui) β | |
| β Port 3000 (dev) / served by Nginx (prod) β | |
| βββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββ | |
| β | |
| βΌ | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| β FastAPI Backend (app/) β | |
| β Port 8000 | Base path: /api/v2 β | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ | |
| β Endpoints: β | |
| β - /generate/* Quantum RNG β | |
| β - /protect/* Encryption, signing, hashing β | |
| β - /pqc/* Post-quantum crypto (incl. KEM) β | |
| β - /oracle/* VRF, oracle requests, fulfillment β | |
| β - /blockchain/* Wallets, attack sim, mining β | |
| β - /quantum/* Entropy, stats, reseed β | |
| β - /hardware/* Device list, benchmark, connect β | |
| β - /monitoring/* Metrics, analytics β | |
| βββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββ | |
| β | |
| βΌ | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| β Core Modules (app/quantum/, app/blockchain/) β | |
| β - qrng.py Quantum RNG engine β | |
| β - commitment.py Keccak-256 commitments β | |
| β - pqc.py liboqs PQC (Dilithium, Kyber, etc.) β | |
| β - hardware_interface β Photonic, superconducting, simulated β | |
| β - oracle_service.py On-chain fulfillment β | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| ``` | |
| --- | |
| ## Tech Stack | |
| | Layer | Technology | | |
| |-------------|--------------------------------------------------| | |
| | Backend | Python 3.8+, FastAPI, Uvicorn | | |
| | Frontend | Next.js 16, React, TypeScript, Tailwind CSS | | |
| | Quantum | Qrisp (optional), custom hardware abstraction | | |
| | Crypto | PyCryptodome (Keccak), cryptography, liboqs | | |
| | Deployment | Docker (single image), Compose, Kubernetes | | |
| | Monitoring | Prometheus metrics, analytics service | | |
| --- | |
| ## Project Layout | |
| ``` | |
| qcrypt-rng/ | |
| βββ app/ # FastAPI backend | |
| β βββ api/v2/endpoints/ # REST routes | |
| β βββ quantum/ # QRNG, PQC, commitment, hardware | |
| β βββ blockchain/ # Chain adapters, oracle service | |
| β βββ utils/ # Logging, monitoring, middleware | |
| β βββ config.py | |
| βββ quantum-oracle-ui/ # Next.js dashboard | |
| βββ tests/ | |
| β βββ unit/ # Pytest unit tests | |
| β βββ integration/ # Pytest integration tests | |
| β βββ manual/ # Standalone scripts (not collected by pytest) | |
| βββ docs/ # PRODUCTION, guides, business, archive, roadmaps | |
| βββ examples/ # Standalone sample scripts | |
| βββ legacy/ # Streamlit + static HTML (deprecated UI path) | |
| βββ scripts/ # e.g. start.py (API + Next.js for dev) | |
| βββ quantum-oracle/ # Oracle node, contracts, SDKs | |
| βββ client_sdk/python/ # Python client library | |
| βββ k8s/ # Kubernetes manifests | |
| βββ run_api.py # Start API server only | |
| βββ requirements.txt | |
| βββ Dockerfile # Single image for production | |
| ``` | |
| --- | |
| ## Running the Project | |
| **Backend:** | |
| ```bash | |
| pip install -r requirements.txt | |
| python run_api.py | |
| ``` | |
| β API at http://localhost:8000, docs at http://localhost:8000/docs | |
| **Dashboard:** | |
| ```bash | |
| cd quantum-oracle-ui && npm install && npm run dev | |
| ``` | |
| β Dashboard at http://localhost:3000 (uses API on 8000β8004 by default) | |
| **Production:** `docker-compose up -d` or `./deploy.sh` (Kubernetes) | |
| **Hugging Face Spaces:** Use root `Dockerfile` for a Docker Space on port 7860. | |
| --- | |
| ## Security Notes | |
| - Simulation and classical fallback are for development/demo only. | |
| - Use a validated QRNG or trusted HRNG in production. | |
| - VRF seeds are kept in memory; consider hardened storage for high assurance. | |
| - Private keys for on-chain fulfillment must be stored and handled securely (no production keys in demos). | |
| - Enable rate limiting and API key auth in production. | |
| --- | |
| ## Related Documents | |
| - [README.md](../README.md) β Quick start and API summary | |
| - [TECHNICAL_PAPER.md](TECHNICAL_PAPER.md) β Architecture and algorithms | |
| - [PRODUCTION.md](PRODUCTION.md) β Deployment and operations | |
| - [NEXT_STEPS.md](NEXT_STEPS.md) β Completed roadmap | |
| - [NEXT_STEPS_PHASE2.md](NEXT_STEPS_PHASE2.md) β Phase 2 roadmap | |
| - [DASHBOARD_MONITORING_PLAN.md](DASHBOARD_MONITORING_PLAN.md) β UI and monitoring plan | |
| --- | |
| *Last updated: 2026-03-06* | |