Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
legion — Legion एक Zero-Knowledge Authentication Fabric है जो गोपनीयता के लिए निर्मित है। | Kitploit
उपकरण/GitHubGitHub/deadends/legion
वेब सुरक्षाक्रिप्टोग्राफीगोपनीयताहार्डवेयर सुरक्षापहचान और एक्सेस प्रबंधन (IAM)प्रमाणीकरण
GitHubdeadends/legion

legion

Legion एक Zero-Knowledge Authentication Fabric है जो गोपनीयता के लिए निर्मित है।

रिपॉजिटरी देखें
10198 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Legion ZK Auth 🛡️

हार्डवेयर-बद्ध डिवाइस रिंग सिग्नेचर के साथ सत्य ज़ीरो-नॉलेज प्रमाणीकरण

License: MIT Rust Security Version

🎯 Legion क्या है?

Legion एक पासवर्डरहित ज़ीरो-नॉलेज प्रमाणीकरण प्रणाली है जो साबित करती है कि आप अपनी पहचान बताए बिना अधिकृत हैं।

केवल अपने फिंगरप्रिंट + 24-शब्द रिकवरी वाक्यांश (MetaMask की तरह) का उपयोग करके प्रमाणीकरण करें। कोई उपयोगकर्ता नाम नहीं, कोई पासवर्ड नहीं, कोई सर्वर-साइड रहस्य नहीं।

मुख्य विशेषताएँ

  • ✅ पासवर्डरहित प्रमाणीकरण: BIP-39 रिकवरी वाक्यांश + फिंगरप्रिंट (कोई उपयोगकर्ता नाम/पासवर्ड नहीं)
  • ✅ वास्तविक ज़ीरो-नॉलेज: सर्वर आपकी पहचान कभी नहीं जानता (1 मिलियन उपयोगकर्ताओं में से 1)
  • ✅ डिवाइस गुमनामी: रिंग सिग्नेचर के साथ हार्डवेयर-बद्ध (1 हजार डिवाइसों में से 1)
  • ✅ : Halo2 PLONK (पारदर्शी सेटअप)
कोई विश्वसनीय सेटअप नहीं
  • ✅ हार्डवेयर सुरक्षा: WebAuthn TPM/Secure Enclave बाइंडिंग
  • ✅ रीप्ले सुरक्षा: Nullifiers + टाइमस्टैम्प
  • ✅ सत्र सुरक्षा: लिंकेबिलिटी टैग चोरी रोकते हैं
  • ✅ मल्टी-डिवाइस समर्थन: 2 डिवाइसों (लैपटॉप + फोन) पर एक ही खाते का उपयोग करें
  • ✅ रेट लिमिटिंग: 5 प्रयास/घंटा (सामान्य त्रुटियाँ एन्यूमरेशन रोकती हैं)
  • ✅ डिवाइस रद्दीकरण: चोरी हुए डिवाइसों को तुरंत ब्लॉक करें
  • 🔒 सुरक्षा गारंटी (v1.3.0)

    PropertyGuarantee
    प्रमाणीकरणपासवर्डरहित (BIP-39 + फिंगरप्रिंट)
    उपयोगकर्ता गुमनामी1 of 2^20 (1,048,576)
    डिवाइस गुमनामी1 of 2^10 (1,024) प्रति उपयोगकर्ता
    साउंडनेस त्रुटि2^-128
    प्रमाण प्रणालीHalo2 PLONK (पारदर्शी सेटअप)
    क्रेडेंशियल व्युत्पत्तिBlake3 (BIP-39 सीड)
    हार्डवेयर बाइंडिंगWebAuthn Level 2 (TPM/Secure Enclave)
    मल्टी-डिवाइसप्रति खाता अधिकतम 2 डिवाइस
    रेट लिमिटिंग5 प्रयास/घंटा
    डिवाइस रद्दीकरणतत्काल ब्लैकलिस्ट

    🚀 त्वरित आरंभ (एक कमांड!)

    आवश्यक शर्तें

    • Docker (Docker Compose शामिल है)

    इंस्टॉल करें और चलाएँ```bash

    Clone and run

    git clone https://github.com/deadends/legion.git cd legion

    Linux/macOS

    chmod +x scripts/install.sh && ./scripts/install.sh

    Windows

    scripts\install.bat

    root@kitploit:~
    **बस इतना ही!** अपने ब्राउज़र में http://localhost खोलें।
    
    ### क्या इंस्टॉल होता है
    - ✅ Redis (सेशन स्टोरेज)
    - ✅ Legion Server (ZK प्रूफ वेरीफायर)
    - ✅ Frontend (WASM क्लाइंट)
    - ✅ Nginx (रिवर्स प्रॉक्सी)
    
    **प्रदर्शन**: रजिस्ट्रेशन ~5s, प्रमाणीकरण ~2min (k=14 प्रूफ जनरेशन)
    
    ---
    
    ### मैन्युअल सेटअप (Docker के बिना)
    
    <details>
    <summary>मैन्युअल इंस्टॉलेशन विस्तार से देखने के लिए क्लिक करें</summary>```bash
    # 1. Install Redis
    # macOS: brew install redis && redis-server
    # Ubuntu: sudo apt install redis && redis-server
    # Windows: https://redis.io/docs/install/install-redis/install-redis-on-windows/
    
    # 2. Run server (terminal 1)
    cd legion-server
    cargo run --release --features redis
    
    # 3. Build frontend (terminal 2)
    cd wasm-client
    wasm-pack build --target web --release
    python3 -m http.server 8000
    
    # 4. Open http://localhost:8000
    

    उत्पादन परिनियोजन के लिए, देखें DEPLOYMENT.md

    📊 प्रदर्शन

    सुरक्षा स्तरkप्रमाण समयप्रमाण आकारउपयोग केस
    विकास12~30s3.2 KBपरीक्षण
    उत्पादन14~2min3.4 KBअनुशंसित

    सत्यापन बेंचमार्क

    परीक्षण हार्डवेयर: Lenovo IdeaPad 3 - Intel Core i3 11th Gen
    नोट: प्रदर्शन हार्डवेयर विशिष्टताओं के आधार पर भिन्न हो सकता है।

    k=12 (विकास/परीक्षण)

    मीट्रिकमाननोट्स
    प्रमाण आकार3,264 बाइट्स3.19 KB संपीड़ित
    सार्वजनिक इनपुट10User tree root, device tree root, nullifier, आदि
    पैराम्स जनरेशन7.03sप्रति k मान एक बार का सेटअप
    सर्किट निर्माण2.3µsनगण्य ओवरहेड
    सत्यापन कुंजी जनरेशन1.29sएक बार का keygen
    प्रमाण सत्यापन107.7msवास्तविक ZK प्रमाण जाँच
    कुल सत्यापन8.43sएंड-टू-एंड (कैशिंग के बिना)

    विवरण:

    • 🔥 कोल्ड स्टार्ट (पहला सत्यापन): ~8.4s (पैराम्स + keygen + सत्यापन शामिल है)
    • ⚡ बाद के सत्यापन (कैशिंग के साथ): ~108ms (पैराम्स/keygen कैश्ड)
    • 💾 प्रमाण ओवरहेड: ~326 बाइट्स प्रति सार्वजनिक इनपुट
    • 🔐 सर्किट जटिलता: User tree (20 स्तर) + Device tree (10 स्तर) + bindings

    k=14 (उत्पादन - अनुशंसित)

    मीट्रिकमाननोट्स
    प्रमाण आकार3,392 बाइट्स3.31 KB संपीड़ित
    सार्वजनिक इनपुट10User tree root, device tree root, nullifier, आदि
    पैराम्स जनरेशन100.78sप्रति k मान एक बार का सेटअप
    सर्किट निर्माण5µsनगण्य ओवरहेड
    सत्यापन कुंजी जनरेशन12.89sएक बार का keygen
    प्रमाण सत्यापन967.2msवास्तविक ZK प्रमाण जाँच
    कुल सत्यापन114.65sएंड-टू-एंड (कैशिंग के बिना)

    विवरण:

    • 🔥 कोल्ड स्टार्ट (पहला सत्यापन): ~115s (पैराम्स + keygen + सत्यापन शामिल है)
    • ⚡ बाद के सत्यापन (कैशिंग के साथ): ~967ms (पैराम्स/keygen कैश्ड)
    • 💾 प्रमाण ओवरहेड: ~339 बाइट्स प्रति सार्वजनिक इनपुट
    • 🔐 सर्किट जटिलता: User tree (20 स्तर) + Device tree (10 स्तर) + bindings

    महत्वपूर्ण: पैराम्स जनरेशन और keygen एक बार की लागतें हैं जिन्हें कैश किया जा सकता है। एक बार कैश हो जाने पर, k मान के आधार पर सत्यापन में केवल ~108-967ms लगते हैं। वर्तमान कार्यान्वयन अभी तक पैराम्स को कैश नहीं करता है।

    पुराने बेंचमार्क से धीमा क्यों? यह passwordless circuit अब एक के बजाय दो Merkle ट्री (user + device) सत्यापित करता है, जो वास्तविक डिवाइस-स्तरीय गुमनामी प्रदान करता है (1-of-1024 डिवाइस प्रति उपयोगकर्ता)।

    🏗️ आर्किटेक्चर

    📖 विस्तृत चरण-दर-चरण प्रमाणीकरण प्रवाह और क्रिप्टोग्राफ़िक विवरणों के लिए, देखें ARCHITECTURE_FLOW.md

    सिस्टम घटक```

    ┌─────────────────────────────────────────────────────────────────────────┐ │ CLIENT (Browser + WASM) │ ├─────────────────────────────────────────────────────────────────────────┤ │ ┌────────────────┐ ┌─────────────────┐ ┌──────────────────────────┐ │ │ │ UI Layer │ │ WASM Prover │ │ Local Storage │ │ │ │ (Vanilla JS) │ │ (Rust→WASM) │ │ (IndexedDB) │ │ │ ├────────────────┤ ├─────────────────┤ ├──────────────────────────┤ │ │ │ • Registration │ │ • Blake3 Hash │ │ • Full Merkle Tree │ │ │ │ • Login Form │ │ • BIP-39 Derive │ │ • Device Trees │ │ │ │ • Session UI │ │ • Halo2 Prover │ │ • WebAuthn Credentials │ │ │ │ • Tree Sync │ │ • Merkle Proof │ │ • Tree Version Cache │ │ │ └────────────────┘ │ • Ring Sigs │ └──────────────────────────┘ │ │ └─────────────────┘ │ │ ┌──────────────────────────────────────────────────────────────────┐ │ │ │ Hardware Security (WebAuthn Level 2) │ │ │ ├──────────────────────────────────────────────────────────────────┤ │ │ │ • TPM 2.0 / Secure Enclave • FIDO2 Authenticator │ │ │ │ • Device Private Key (ECDSA) • Biometric/Touch Required │ │ │ └──────────────────────────────────────────────────────────────────┘ │ └────────────────────────────────┬────────────────────────────────────────┘ │ HTTPS/TLS 1.3 │ (Encrypted Channel) ▼ ┌──────────────────────────────────────────────────────────────────────────┐ │ LEGION SERVER (Rust/Axum) │ ├──────────────────────────────────────────────────────────────────────────┤ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ API Layer (Axum) │ │ │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ POST /api/register-blind │ Blind registration │ │ │ │ GET /api/download-tree │ Download full Merkle tree │ │ │ │ POST /api/verify-anonymous-proof │ Verify ZK proof │ │ │ │ POST /api/verify-session │ Session validation │ │ │ │ POST /api/webauthn/* │ WebAuthn endpoints │ │ │ │ GET /health │ Health check │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ Business Logic Layer │ │ │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ • Blind Registration │ • Tree Synchronization │ │ │ │ • ZK Proof Verifier │ • Nullifier Tracker (replay) │ │ │ │ • Session Manager │ • Linkability Tag Validator │ │ │ │ • WebAuthn Service │ • Timestamp Validator (±10min) │ │ │ │ • Device Revocation │ • Rate Limiter (5/hour) │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ Cryptographic Layer │ │ │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ • Halo2 Verifier (PLONK) │ • Poseidon Hash (ZK-friendly) │ │ │ │ • Blake3 (credential) │ • BIP-39 (recovery phrase) │ │ │ │ • Merkle Tree (2^20) │ • Device Trees (2^10 per user) │ │ │ │ • Ring Signature Verify │ • WebAuthn Signature Verify │ │ │ └─────────────────────────────────────────────────────────────────┘ │ └────────────────────────┬──────────────────────┬──────────────────────────┘ │ │ ▼ ▼ ┌────────────────────────┐ ┌───────────────────────────┐ │ Redis (In-Memory) │ │ RocksDB (Persistent) │ ├────────────────────────┤ ├───────────────────────────┤ │ • Session Tokens │ │ • Merkle Tree Leaves │ │ • Linkability Tags │ │ • Device Trees │ │ • Spent Nullifiers │ │ • Nullifier History │ │ • Rate Limit Counters │ │ • WebAuthn Credentials │ │ TTL: 1 hour │ │ • Revoked Devices │ └────────────────────────┘ └───────────────────────────┘

    root@kitploit:~
    ### प्रमाणीकरण प्रवाह (सरलीकृत)```
    ┌─────────────┐                                                ┌──────────────┐
    │   Client    │                                                │    Server    │
    │  (Browser)  │                                                │  (Verifier)  │
    └──────┬──────┘                                                └──────┬───────┘
           │                                                              │
           │ 1. Generate 24-word recovery phrase (BIP-39)                 │
           │    → 256-bit entropy (like MetaMask)                         │
           │    → User writes down on paper                               │
           │                                                              │
           │ 2. Derive account_id from phrase (Blake3)                    │
           │    account_id = Blake3("LEGION_ACCOUNT_V2" || bip39_seed)    │
           │    → Deterministic, no server interaction                    │
           │                                                              │
           │ 3. Hash account_id for tree leaf (Poseidon)                  │
           │    credential_hash = Poseidon(account_id)                    │
           │                                                              │
           │ 4. Blind registration (TRUE zero-knowledge)             ────►│
           │    → Sends ONLY credential_hash (no phrase/identity)         │
           │    → Server adds to tree, returns tree_index                 │
           │                                                         ◄────│ {tree_index: 114}
           │                                                              │
           │ 5. Download full Merkle tree (one-time sync)            ────►│
           │    → Client stores entire tree in IndexedDB                  │
           │    → Enables TRUE zero-knowledge (no server queries)         │
           │                                                         ◄────│ {tree_data: [all leaves],
           │                                                              │  merkle_root, version}
           │                                                              │
           │ 6. Generate WebAuthn key (TPM/Secure Enclave)                │
           │    → Fingerprint prompt creates hardware-bound key           │
           │    → device_pubkey (ECDSA P-256, non-exportable)             │
           │    → Stored in TPM 2.0 / Secure Enclave                      │
           │                                                              │
           │ 7. Register device in device tree                       ────►│
           │    → device_commitment = Blake3(credential_id)               │
           │    → Server converts to valid field element if needed        │
           │    → Server adds to user's device tree (1 of 1024 slots)     │
           │                                                         ◄────│ {device_position: 0,
           │                                                              │  device_tree_root}
           │                                                              │
           │ 8. LOGIN: Touch fingerprint to authenticate                  │
           │    → WebAuthn verifies hardware-bound key                    │
           │    → Decrypts recovery phrase from local storage             │
           │    → Re-derives account_id from phrase                       │
           │                                                              │
           │ 9. Fetch device Merkle proof                            ────►│
           │    → Sends account_id (derived from phrase)                  │
           │    → Server returns device tree path                         │
           │                                                         ◄────│ {device_path: [siblings],
           │                                                              │  device_root}
           │                                                              │
           │ 10. Compute user Merkle proof CLIENT-SIDE                    │
           │    → Uses local tree from IndexedDB                          │
           │    → Computes path for tree_index                            │
           │    → Server NEVER learns which user!                         │
           │                                                              │
           │ 11. Compute nullifier (replay protection)                    │
           │    nullifier = Poseidon(account_id || challenge)             │
           │    → ONE-TIME USE: Different every login                     │
           │    → Prevents proof replay attacks                           │
           │                                                              │
           │ 12. Compute linkability tag (session binding)                │
           │    linkability_tag = Blake3(device_pubkey || nullifier)      │
           │    ⚠️  Binds session to specific device+user                 │        
           │                                                              │
           │ 13. Generate ZK proof (Halo2 PLONK, ~2min for k=14)          │
           │    Proves in zero-knowledge:                                 │
           │    ✓ User exists in Merkle tree (1 of 2^20)                  │
           │    ✓ Device exists in device tree (1 of 2^10)                │
           │    ✓ account_id hashes to credential_hash                    │
           │    ✓ Nullifier computed correctly                            │
           │    ✓ Timestamp is fresh                                      │
           │    WITHOUT revealing which user or device                    │
           │                                                              │
           │ 14. Submit proof                                        ────►│
           │    {proof, public_inputs, linkability_tag, k=14}             │
           │                                                              │ • Check device not revoked
           │                                                              │ • Verify timestamp (±10min)
           │                                                              │ • Rate limit check (5/hour)
           │                                                              │ • Check nullifier (replay?)
           │                                                              │ • Verify ZK proof (~115s)
           │                                                              │ • Mark nullifier as used
           │                                                              │
           │                                                         ◄────│ {session_token, expires_at}
           │                                                              │
           │ 15. Verify session (every request)                      ────►│
           │    {session_token, linkability_tag}                          │
           │                                                              │ • Lookup in Redis
           │                                                              │ • Verify linkability_tag
           │                                                              │   (prevents session theft)
           │                                                              │ • Check not spent
           │                                                         ◄────│ {valid: true}
           │                                                              │
    

    🔍 अधिक विवरण चाहते हैं? इसके लिए देखें ARCHITECTURE_FLOW.md:

    • चरण-दर-चरण क्रिप्टोग्राफ़िक संचालन
    • सर्किट बाधा विवरण
    • सुरक्षा गुण स्पष्टीकरण
    • आक्रमण प्रतिरोध तंत्र

    सत्र सुरक्षा गहन विश्लेषण```

    ┌─────────────────────────────────────────────────────────────────────────┐ │ SESSION SECURITY MECHANISMS │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 1. LINKABILITY TAG (Zero-Knowledge Device Binding) │ │ ═══════════════════════════════════════════════════════ │ │ │ │ linkability_tag = Blake3(device_pubkey || nullifier) │ │ │ │ • Computed client-side using hardware-bound device key │ │ • Sent with every session validation request │ │ • Server verifies: stored_tag == provided_tag │ │ │ │ ✅ PREVENTS: Session token theft/replay on different device │ │ ✅ ENSURES: Same user + same device for entire session │ │ ✅ MAINTAINS: Zero-knowledge (server doesn't learn identity) │ │ │ │ ───────────────────────────────────────────────────────────────── │ │ │ │ 2. SESSION TOKEN (Cryptographic Binding) │ │ ═══════════════════════════════════════════════════════ │ │ │ │ session_token = Poseidon(nullifier || timestamp || linkability_tag) │ │ │ │ • Generated server-side after proof verification │ │ • Stored in Redis with linkability_tag as value │ │ • Cannot be forged without knowing nullifier │ │ │ │ ✅ PREVENTS: Token forgery │ │ ✅ ENSURES: Cryptographic binding to proof │ │ │ │ ───────────────────────────────────────────────────────────────── │ │ │ │ 3. NULLIFIER (Replay Protection) │ │ ═══════════════════════════════════════════════════════ │ │ │ │ nullifier = Poseidon(credential_hash || challenge) │ │ │ │ • Unique per authentication attempt │ │ • Tracked in RocksDB (permanent) and Redis (cache) │ │ • Server rejects if nullifier seen before │ │ │ │ ✅ PREVENTS: Proof replay attacks │ │ ✅ ENSURES: One-time use per challenge │ │ │ │ ───────────────────────────────────────────────────────────────── │ │ │ │ 4. TIMESTAMP VALIDATION (Time-Bound Security) │ │ ═══════════════════════════════════════════════════════ │ │ │ │ • Proof includes timestamp (Unix epoch) │ │ • Server validates: |proof_time - server_time| < 5 minutes │ │ • Session TTL: 1 hour (sliding window) │ │ │ │ ✅ PREVENTS: Old proof replay │ │ ✅ ENSURES: Fresh authentication │ │ │ │ ───────────────────────────────────────────────────────────────── │ │ │ │ 5. CHALLENGE-RESPONSE (Freshness Guarantee) │ │ ═══════════════════════════════════════════════════════ │ │ │ │ • Server generates random 32-byte challenge │ │ • Stored in Redis with 5-minute TTL │ │ • Client must include in proof │ │ • Server verifies challenge matches and deletes │ │ │ │ ✅ PREVENTS: Pre-computed proof attacks │ │ ✅ ENSURES: Proof generated for this specific session │ │ │ └─────────────────────────────────────────────────────────────────────────┘

    root@kitploit:~
    ## 🔐 शून्य-ज्ञान गुणधर्म
    
    ### सर्वर क्या जानता है
    - ✅ अनामिका सेट में किसी ने प्रमाणीकरण किया
    - ✅ प्रमाण क्रिप्टोग्राफिक रूप से मान्य है
    - ✅ लिंकेबिलिटी टैग के माध्यम से एक ही उपयोगकर्ता+डिवाइस
    - ✅ रेट लिमिट स्थिति (शेष प्रयास)
    - ✅ डिवाइस निरस्तीकरण स्थिति
    - ✅ पंजीकृत उपयोगकर्ताओं की कुल संख्या
    - ✅ Merkle ट्री रूट (सार्वजनिक)
    
    ### सर्वर क्या नहीं जान सकता
    - ❌ कौन सा विशिष्ट उपयोगकर्ता (1 of 1M)
    - ❌ कौन सा विशिष्ट डिवाइस (1 of 1K प्रति उपयोगकर्ता)
    - ❌ रिकवरी वाक्यांश (BIP-39 सीड)
    - ❌ account_id (वाक्यांश से व्युत्पन्न)
    - ❌ डिवाइस निजी कुंजी (TPM/Secure Enclave में)
    - ❌ कौन सी ट्री लीफ किस उपयोगकर्ता की है
    - ❌ उपयोगकर्ता Merkle पथ (क्लाइंट-साइड गणना)
    - ❌ उपयोगकर्ता की tree_index स्थिति
    
    ## 📦 परिनियोजन
    
    विस्तृत उत्पादन परिनियोजन मार्गदर्शिका के लिए [DEPLOYMENT.md](https://github.com/deadends/legion/blob/passwordless-v1.3/docs/DEPLOYMENT.md) देखें।
    
    ### Docker के साथ त्वरित परिनियोजन```bash
    # Production build
    docker-compose -f deployment/docker-compose.yml up -d
    
    # Check logs
    docker-compose -f deployment/docker-compose.yml logs -f legion-server
    
    # Check health
    curl http://localhost/health
    

    पर्यावरण चर```env

    RUST_LOG=info LEGION_DATA_PATH=/var/lib/legion/data REDIS_URL=redis://127.0.0.1:6379

    root@kitploit:~
    ## 🧪 परीक्षण```bash
    # Run all tests
    cargo test --workspace
    
    # Run with Redis features
    cargo test --workspace --features redis
    
    # Benchmark
    cargo bench
    

    📚 दस्तावेज़

    • आर्किटेक्चर प्रवाह - विस्तृत प्रमाणीकरण प्रवाह
    • सुरक्षा सुधार - v1.1.0 सुरक्षा सुधार
    • परिनियोजन मार्गदर्शिका - उत्पादन परिनियोजन
    • सुरक्षा नीति - सुरक्षा आश्वासन और रिपोर्टिंग
    • योगदान - योगदान दिशानिर्देश

    🛠️ तकनीकी स्टैक

    • ZK प्रमाण: Halo2 (PLONK) - पारदर्शी सेटअप, कोई विश्वसनीय समारोह नहीं
    • वक्र: Pasta (Pallas/Vesta) - पुनरावृत्ति के लिए वक्रों का चक्र
    • हैश: Blake3 (क्रेडेंशियल व्युत्पत्ति), Poseidon (ZK-अनुकूल)
    • कुंजी व्युत्पत्ति: BIP-39 (24-शब्द स्मृति-सहायक)
    • हार्डवेयर: WebAuthn लेवल 2 (TPM 2.0, Secure Enclave)
    • बैकएंड: Rust, Axum, Redis (सत्र), RocksDB (स्थायित्व)
    • फ्रंटएंड: Rust→WASM (प्रमाणक), Vanilla JS (UI), IndexedDB (भंडारण)
    • परिनियोजन: Docker, Nginx, systemd

    🤝 योगदान

    योगदान का स्वागत है! कृपया पहले CONTRIBUTING.md पढ़ें।

    1. रिपॉजिटरी को फोर्क करें
    2. फीचर ब्रांच बनाएं (git checkout -b feature/amazing)
    3. परिवर्तन कमिट करें (git commit -m 'Add amazing feature')
    4. ब्रांच पर पुश करें (git push origin feature/amazing)
    5. पुल रिक्वेस्ट खोलें

    🔒 सुरक्षा

    सुरक्षा समस्या मिली? जिम्मेदार प्रकटीकरण के लिए SECURITY.md देखें।

    कमजोरियों के लिए सार्वजनिक issues न खोलें।

    📄 लाइसेंस

    MIT लाइसेंस - विवरण के लिए LICENSE फ़ाइल देखें।

    🔄 चेंजलॉग

    v1.3.0 - पासवर्डरहित प्रमाणीकरण (2024)

    प्रमुख परिवर्तन:

    • ✅ पासवर्डरहित प्रमाणीकरण - BIP-39 पुनर्प्राप्ति वाक्यांश + फिंगरप्रिंट
    • ✅ एकल-फ़ील्ड सर्किट - account_id BIP-39 सीड से व्युत्पन्न
    • ✅ डिवाइस रिंग हस्ताक्षर - प्रति उपयोगकर्ता 1-of-1024 डिवाइस गुमनामी
    • ✅ मल्टी-डिवाइस समर्थन - 2 डिवाइसों पर एक ही खाते का उपयोग करें
    • ✅ हार्डवेयर-बद्ध कुंजियाँ - WebAuthn TPM/Secure Enclave एकीकरण
    • ✅ Blake3 फ़ील्ड तत्व हैंडलिंग - डिवाइस प्रतिबद्धताओं के लिए स्वचालित रूपांतरण

    वास्तुकला:

    • 🏗️ कोई उपयोगकर्ता नाम/पासवर्ड नहीं - केवल पुनर्प्राप्ति वाक्यांश + फिंगरप्रिंट
    • 🏗️ क्लाइंट-साइड account_id व्युत्पत्ति (Blake3 + BIP-39)
    • 🏗️ डिवाइस ट्री सर्वर-साइड संग्रहीत (प्रति-उपयोगकर्ता अलगाव)
    • 🏗️ दोहरी Merkle ट्री सत्यापन (उपयोगकर्ता ट्री + डिवाइस ट्री)
    • 🏗️ मजबूत फ़ील्ड तत्व रूपांतरण (Blake3 आउटपुट >= फ़ील्ड मापांक को संभालता है)

    v1.2.0 - क्लाइंट-साइड प्रूफिंग आर्किटेक्चर (2024)

    प्रमुख परिवर्तन:

    • ✅ क्लाइंट-साइड Merkle ट्री भंडारण (IndexedDB) - वास्तविक शून्य-ज्ञान
    • ✅ ब्लाइंड पंजीकरण - सर्वर क्रेडेंशियल कभी नहीं देखता
    • ✅ स्थानीय प्रमाण निर्माण - सभी क्रिप्टोग्राफी WASM में
    • ✅ ट्री सिंक्रनाइज़ेशन - पूरा ट्री एक बार डाउनलोड करें, पथ स्थानीय रूप से गणना करें
    • ✅ व्ययित नलिफायर - एकल-उपयोग सत्र समवर्ती पहुंच रोकते हैं

    v1.1.0 - सुरक्षा सुदृढ़ीकरण (2024)

    जोड़े गए:

    • ✅ रेट लिमिटिंग (प्रति क्रेडेंशियल 5 प्रयास/घंटा)
    • ✅ डिवाइस निरसन API और प्रवर्तन
    • ✅ सत्र चोरी रोकथाम के लिए लिंकेबिलिटी टैग

    सुरक्षा सुधार:

    • 🔒 चैलेंज अनुरोधों में पहचान रिसाव ठीक किया गया
    • 🔒 रेट लिमिटिंग के साथ ब्रूट फोर्स हमलों को रोका गया
    • 🔒 निरसन के माध्यम से चोरी हुए डिवाइस का शमन सक्षम किया गया

    🙏 आभार

    • Halo2 - ZK प्रमाण प्रणाली
    • WebAuthn - हार्डवेयर प्रमाणीकरण
    • Blake3 - तेज़ हैशिंग
    • BIP-39 - स्मृति-सहायक पुनर्प्राप्ति वाक्यांश

    📞 संपर्क

    • GitHub: @deadends
    • ईमेल: [email protected]
    • वेबसाइट: https://nantha.dev

    गोपनीयता और सुरक्षा के लिए ❤️ से निर्मित

    टूल डाउनलोड करें