Skip to main content

Crate b4ae

Crate b4ae 

Source
Expand description

B4AE (Beyond For All Encryption) Protocol

Implements B4AE Protocol Specification v1.0. Quantum-resistant secure communication protocol.

Β§B4AE (Beyond For All Encryption)

Research-Grade Post-Quantum Metadata-Hardened Secure Messaging Protocol

B4AE v2.1 β€” A formally verified, quantum-resistant protocol with authentication mode separation, stateless DoS protection, and global traffic scheduling for metadata protection.

License Rust Version Crates.io

Β§Overview

B4AE v2.0 is a research-grade protocol architecture designed for high-assurance deployments requiring formal verification, post-quantum security, and strong metadata protection. It transforms B4AE from β€œstrong engineering” (v1.0) to β€œresearch-grade protocol” suitable for academic scrutiny and formal analysis.

Current Version: v2.1.1 (production-ready β€” 0 warnings, 0 errors, NIST PQC standards)
Previous Version: v2.0.0 (see CHANGELOG)

Β§Key Features (v2.0)

  • πŸ” Authentication Mode Separation: Choose Mode A (deniable, XEdDSA) or Mode B (post-quantum, Dilithium5) - no contradictory hybrid
  • πŸ›‘οΈ Stateless Cookie Challenge: 360x DoS protection reduction (~0.01ms verification before expensive crypto)
  • 🌐 Global Traffic Scheduler: Cross-session metadata protection with constant-rate output (100-1000 msg/s)
  • πŸ”— Session Key Binding: Cryptographic binding to session ID prevents key transplant attacks
  • πŸ†” Protocol ID Derivation: SHA3-256 of canonical spec for automatic version enforcement
  • πŸ”’ Security-by-Default: No optional security features - all protections always enabled
  • πŸ“ Formal Verification: Tamarin + ProVerif models with machine-checked security proofs
  • πŸ“Š Formal Threat Model: Single source of truth defining 6 adversary types
  • ⚑ High Performance: Mode A ~150ms handshake, Mode B ~155ms handshake
  • πŸ“– Open Source: Fully auditable and transparent implementation

Β§Why B4AE v2.0?

Β§8 Architectural Improvements Over v1.0

B4AE v2.0 addresses critical architectural flaws identified in v1.0 audit:

Issue (v1.0)Solution (v2.0)Benefit
❌ XEdDSA + Dilithium5 hybrid destroys deniabilityβœ… Mode A (XEdDSA only) vs Mode B (Dilithium5 only)Clear security properties, no contradictions
❌ No DoS protection before expensive cryptoβœ… Stateless cookie challenge (~0.01ms)360x DoS reduction
❌ Per-session metadata protectionβœ… Global unified traffic schedulerCross-session indistinguishability
❌ Feature-driven design, no formal threat modelβœ… Single formal threat model (6 adversary types)Consistent security properties
❌ Optional security featuresβœ… Security-by-default (no opt-out)No insecure configurations
❌ No formal verificationβœ… Tamarin + ProVerif modelsMachine-checked security proofs
❌ Session keys not bound to session IDβœ… Cryptographic session bindingPrevents key transplant attacks
❌ Hardcoded version stringsβœ… Protocol ID = SHA3-256(spec)Automatic version enforcement

Β§Design Philosophy

  • Model-driven (not feature-driven): All features derived from formal threat model
  • Security-by-default (not optional): All protections always enabled
  • Formally verified (not just tested): Machine-checked security proofs

Β§Technical Architecture (v2.0)

Β§Authentication Mode System

B4AE v2.0 separates authentication into distinct modes with clear security properties:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  AUTHENTICATION MODES                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Mode A: Deniable Authentication (XEdDSA only)              β”‚
β”‚   βœ… Deniable (verifier can forge)                         β”‚
β”‚   βœ… Fast (~0.3ms signatures)                              β”‚
β”‚   ❌ Not post-quantum secure                               β”‚
β”‚   Use: Private messaging, whistleblowing                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Mode B: Post-Quantum Non-Repudiable (Dilithium5 only)     β”‚
β”‚   βœ… Post-quantum secure (NIST Level 5)                    β”‚
β”‚   βœ… Non-repudiable signatures                             β”‚
β”‚   ❌ Not deniable                                          β”‚
β”‚   Use: Legal contracts, audit trails, compliance           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Mode C: Future Hybrid (Research placeholder)               β”‚
β”‚   ⚠️ Not production-ready                                  β”‚
β”‚   Future: Deniable + post-quantum                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Β§Protocol Flow (v2.0)

Client                                Server
  |                                     |
  |--- ModeNegotiation --------------->|  (Mode selection)
  |<-- ModeSelection -------------------|
  |                                     |
  |--- ClientHello (minimal) --------->|  (No expensive crypto)
  |<-- CookieChallenge (stateless) ----|  (~0.01ms HMAC)
  |                                     |
  |--- ClientHelloWithCookie --------->|  (Cookie verified)
  |    + HandshakeInit                 |  (Then expensive crypto)
  |<-- HandshakeResponse ---------------|
  |                                     |
  |--- HandshakeComplete -------------->|
  |                                     |
  [Session established with keys bound to session_id]
  |                                     |
  |--- Encrypted Messages ------------->|  (Via global scheduler)
  |<-- Encrypted Messages --------------|  (Constant-rate output)

Β§Global Traffic Scheduler

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              GLOBAL UNIFIED TRAFFIC SCHEDULER               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Session 1 ──┐                                             β”‚
β”‚  Session 2 ──┼──> Unified Queue ──> Constant-Rate Output  β”‚
β”‚  Session 3 ───         +                    (100 msg/s)    β”‚
β”‚  Session N β”€β”€β”˜    Dummy Messages                           β”‚
β”‚                                                             β”‚
β”‚  Security: Cross-session indistinguishability              β”‚
β”‚  Trade-off: ~5ms avg latency for metadata protection       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Β§Quick Start (v2.0)

Β§Installation

Add B4AE v2.0 to your Cargo.toml:

[dependencies]
b4ae = { version = "2.1", features = ["v2_protocol"] }   # Enable v2 protocol + B4aeClientV2
# Optional features:
# b4ae = { version = "2.1", features = ["v2_protocol", "elara"] }  # + ELARA UDP transport

Features: v2_protocol (v2.0 protocol), elara (UDP transport), proxy (SOCKS5, requires elara)

Β§Basic Usage (v2.0)

use b4ae::B4aeClientV2;
use b4ae::protocol::v2::AuthenticationMode;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Gunakan B4aeClientV2 β€” high-level API untuk v2 protocol
    let mut alice = B4aeClientV2::new(AuthenticationMode::ModeA)?;
    let mut bob = B4aeClientV2::new(AuthenticationMode::ModeA)?;

    let alice_id = b"alice".to_vec();
    let bob_id = b"bob".to_vec();

    // Mode negotiation (automatic)
    let negotiation = alice.initiate_mode_negotiation(&bob_id)?;
    let selection = bob.respond_mode_negotiation(&alice_id, negotiation)?;
    alice.complete_mode_negotiation(&bob_id, selection)?;

    // Cookie challenge (automatic DoS protection)
    let client_hello = alice.send_client_hello(&bob_id)?;
    let cookie_challenge = bob.respond_cookie_challenge(&alice_id, client_hello)?;
    
    // Handshake with mode-specific signatures
    let init = alice.initiate_handshake_v2(&bob_id, cookie_challenge)?;
    let response = bob.respond_to_handshake_v2(&alice_id, init)?;
    let complete = alice.process_response_v2(&bob_id, response)?;
    bob.complete_handshake_v2(&alice_id, complete)?;
    alice.finalize_initiator_v2(&bob_id)?;

    // Messages go through global traffic scheduler
    let encrypted = alice.encrypt_message_v2(&bob_id, b"Hello, B4AE v2.0!")?;
    let decrypted = bob.decrypt_message_v2(&alice_id, &encrypted)?;
    
    println!("Received: {}", String::from_utf8_lossy(&decrypted));

    Ok(())
}

Β§Mode Selection Guide

Choose Mode A (Deniable) when:

  • βœ… You need plausible deniability (whistleblowing, anonymous communication)
  • βœ… You want fast handshakes (~150ms)
  • βœ… Classical 128-bit security is sufficient
  • ❌ You don’t need post-quantum security
  • ❌ You don’t need non-repudiation

Choose Mode B (Post-Quantum) when:

  • βœ… You need post-quantum security (NIST Level 5)
  • βœ… You need non-repudiable signatures (legal contracts, audit trails)
  • βœ… You can accept slightly slower handshakes (~155ms)
  • ❌ You don’t need deniability

See Mode Selection Guide for detailed comparison.

Β§Building from Source

Β§Prerequisites

  • Rust 1.75 or later (edition 2021)
  • OpenSSL development libraries (optional; ring uses system crypto)

Β§Build

# Clone repository (--recursive untuk ELARA submodule)
git clone --recursive https://github.com/rafaelsistems/B4AE-Beyond-For-All-Encryption-.git
cd B4AE-Beyond-For-All-Encryption-

# Build default (tanpa ELARA)
cargo build --release

# Build dengan ELARA transport
cargo build --release --features elara

# Run tests
cargo test --all-features

# Run benchmarks
cargo bench

# Demos (dengan ELARA)
cargo run --example b4ae_elara_demo --features elara
cargo run --example b4ae_chat_demo --features elara -- server 9000   # terminal 1
cargo run --example b4ae_chat_demo --features elara -- client 127.0.0.1:9000  # terminal 2
cargo run --example b4ae_file_transfer_demo --features elara -- recv output.bin 9001  # receiver first
cargo run --example b4ae_file_transfer_demo --features elara -- send file.txt 127.0.0.1:9001  # sender

Β§Platform SDKs

B4AE provides bindings for mobile and web:

PlatformCrate/BindingAPI
Webb4ae-wasmgenerate_key, encrypt, decrypt
Androidb4ae-androidB4AE.generateKey(), encrypt(), decrypt()
iOSb4ae-ffi + SwiftB4AE.generateKey(), encrypt(), decrypt()
Full Protocolb4ae-ffi --features full-protocolhandshake + encrypt/decrypt (quantum-resistant)

See docs/PLATFORM_SDK.md for build and usage.

Β§Documentation

Β§Research

Comprehensive research documentation:

Β§Comparison with E2EE

FeatureE2EE (Signal)B4AE
Quantum ResistanceβŒβœ…
Metadata ProtectionβŒβœ…
Forward Secrecyβœ…βœ… Enhanced
Multi-Device Sync⚠️ Limitedβœ… Seamless
Enterprise FeaturesβŒβœ…
Performance⭐⭐⭐⭐⭐⭐⭐⭐
Open Sourceβœ…βœ…

Β§Roadmap

Β§Phase 1: Foundation (Months 1-6) βœ…

  • Research & Specification
  • Cryptographic Core Implementation
  • Performance Benchmarking Framework

Β§Phase 2: Core Development (Months 7-12) βœ…

  • Cryptographic Core (Kyber, Dilithium, Hybrid)
  • Protocol Implementation
  • Network Layer (ELARA transport integration)
  • Platform SDKs (Swift, Kotlin, WASM)

Β§Phase 3: Integration & Testing (Months 13-18) βœ…

  • Security Testing & Audits (scripts/security_audit, cargo audit CI)
  • Performance Optimization (docs/PERFORMANCE.md, release profile)
  • Integration Testing (elara_integration_test expanded)

Β§Phase 4: Production & Deployment (Months 19-24) βœ…

  • Production Infrastructure (Dockerfile, docker-compose)
  • Pilot Deployment (docs/PILOT_DEPLOYMENT_GUIDE.md)
  • General Availability (docs/RELEASE_CHECKLIST.md)

Β§Contributing

We welcome contributions! Please see CONTRIBUTING.md for details.

Β§Areas for Contribution

  • πŸ” Cryptographic implementations
  • πŸ§ͺ Testing and security audits
  • πŸ“š Documentation improvements
  • 🌐 Platform-specific optimizations
  • πŸ› Bug reports and fixes

Β§Security

Β§Reporting Security Issues

Please report security vulnerabilities to: rafaelsistems@gmail.com

Do not open public issues for security vulnerabilities.

Β§Security Audits

B4AE undergoes regular security audits by independent third parties. Audit reports will be published here.

Β§License

B4AE is dual-licensed under:

You may choose either license for your use.

Β§Citation

If you use B4AE in your research, please cite:

@software{b4ae2026,
  title = {B4AE: Beyond For All Encryption},
  author = {B4AE Team},
  year = {2026},
  url = {https://github.com/rafaelsistems/B4AE-Beyond-For-All-Encryption-}
}

Β§Acknowledgments

  • NIST for post-quantum cryptography standardization
  • Open Quantum Safe project for liboqs
  • ELARA Protocol for transport substrate integration
  • Signal Foundation for pioneering E2EE
  • The Rust community for excellent cryptographic libraries

Β§Contact

  • Website: GitHub Repository
  • Email: rafaelsistems@gmail.com
  • Security: rafaelsistems@gmail.com

B4AE: Securing Communication for the Quantum Era πŸ”πŸš€


Β§πŸ“Š Project Status (Phases 1–4 Complete)

Β§Completed βœ…
  • Phase 1: Foundation (100%)

    • Comprehensive research (5 documents, 200+ pages)
    • Technical specifications (5 documents, 150+ pages)
    • Development infrastructure setup
  • Phase 2: Core Development (100%)

    • Cryptographic core - Kyber, Dilithium, Hybrid, PFS+, ZKAuth
    • Protocol implementation - Handshake, Message, Session
    • Metadata protection - Padding, Timing, Obfuscation
    • Platform SDKs (100%) - iOS Swift, Android Kotlin, Web WASM + demo apps
Β§ELARA Integration βœ…
  • Transport Layer: ElaraTransport (UDP dengan chunking)
  • B4aeElaraNode: Full handshake & messaging via ELARA
  • Example: b4ae_elara_demo
§Performance Metrics ⚑
  • Handshake: <150ms (target: <200ms) βœ…
  • Message latency: <0.6ms (target: <1.0ms) βœ…
  • Throughput: >1000 msg/s βœ…
  • Test coverage: 85%

Status: Ahead of schedule, under budget

See docs/ROADMAP.md for detailed progress.


Β§πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         Application Layer               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚         Protocol Layer                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚Handshake β”‚ Message  β”‚ Session  β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚      Metadata Protection Layer          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚ Padding  β”‚  Timing  β”‚Obfuscate β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚       Cryptographic Core                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚  Kyber   β”‚Dilithium β”‚  Hybrid  β”‚    β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€    β”‚
β”‚  β”‚ AES-GCM  β”‚   HKDF   β”‚  PFS+    β”‚    β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€    β”‚
β”‚  β”‚  Random  β”‚  ZKAuth  β”‚          β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Β§Module Overview

ModulDeskripsiFeature
src/crypto/Kyber, Dilithium, Hybrid, PFS+, ZKAuth, AES-GCM, HKDFβ€”
src/protocol/Handshake, Message, Sessionβ€”
src/metadata/Padding, Timing, Obfuscation β€” terintegrasi di B4aeClientβ€”
src/key_hierarchy.rsMIK, DMK, STK, BKS (Spec Β§4); BKS 2-of-2 dengan HMACβ€”
src/transport/ElaraTransport (UDP, chunking), ProxyElaraTransport (SOCKS5)elara, proxy
src/elara_node.rsB4aeElaraNode: handshake + messaging via ELARAelara
src/client.rsB4aeClient: cleanup_inactive_sessions(), cleanup_old_state()β€”
src/storage.rsEncryptedStorage (STK + AES-GCM)β€”
src/audit.rsAuditSink, AuditEvent untuk complianceβ€”
src/lib.rsMAX_MESSAGE_SIZE = 1 MiB (DoS mitigation)β€”

Β§πŸ“š Documentation

Β§Specifications

Β§Guides

Β§Research

Β§Status & Audit


§⚑ Performance

Β§Benchmarks (Intel i7-12700K)

OperationTimeTargetStatus
Kyber-1024 KeyGen0.12ms<0.15msβœ…
Dilithium5 Sign0.95ms<1.00msβœ…
Hybrid KeyExchange1.75ms<2.00msβœ…
Message Encrypt0.5ms<1.0msβœ…
Handshake Complete<150ms<200msβœ…

All performance targets exceeded βœ…


Β§πŸ”’ Security

Β§Cryptographic Algorithms

  • Key Exchange: Kyber-1024 (NIST FIPS 203) + X25519
  • Signatures: Dilithium5 (NIST FIPS 204) + Ed25519
  • Encryption: AES-256-GCM
  • Key Derivation: HKDF-SHA3-256

Β§Security Features

βœ… Quantum resistance (NIST-standardized PQC)
βœ… Hybrid cryptography (defense in depth)
βœ… Perfect Forward Secrecy Plus
βœ… Zero-knowledge authentication
βœ… Metadata protection (padding, timing obfuscation, dummy traffic β€” terintegrasi di client)
βœ… Audit logging (B4aeConfig.audit_sink untuk compliance)
βœ… Memory security (zeroization)
βœ… Replay attack prevention

Β§Audits

  • Internal review: Ongoing βœ…
  • External audit: Scheduled Q2 2026

§🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Β§Development

# Run tests
cargo test

# Run benchmarks
cargo bench

# Generate documentation
cargo doc --no-deps --open

# Format code
cargo fmt

# Lint
cargo clippy

Β§πŸ“„ License

Dual-licensed under MIT or Apache 2.0.


Β§πŸ“ž Contact

  • Website: GitHub Repository
  • Email: rafaelsistems@gmail.com
  • Security: rafaelsistems@gmail.com

B4AE - Beyond For All Encryption
Quantum-resistant security for the future πŸš€

Re-exportsΒ§

pub use error::B4aeError;
pub use error::B4aeResult;
pub use crypto::CryptoConfig;
pub use crypto::SecurityLevel;
pub use client::B4aeClient;
pub use client::B4aeConfig;
pub use protocol::SecurityProfile;

ModulesΒ§

audit
Audit logging for compliance. Audit logging untuk production compliance
client
High-level client API.
crypto
Cryptographic primitives (Kyber, Dilithium, hybrid, AES-GCM, HKDF, PFS+, ZKAuth). B4AE Cryptographic Core Module
error
Error types for B4AE.
key_hierarchy
Key hierarchy (MIK, DMK, STK, BKS). B4AE Key Hierarchy (Protocol Spec v1.0 Β§4)
key_store
Key persistence (passphrase-protected MIK storage). B4AE Key Store
metadata
Metadata protection (padding, timing, obfuscation). B4AE Metadata Protection Module
performance
Performance monitoring and profiling. B4AE Performance Monitoring and Profiling Tools
prelude
Re-exports for common usage.
protocol
Protocol layer (handshake, message, session). B4AE Protocol Implementation
security
Security-hardened core module with panic-free production paths Security-hardened modules for B4AE
storage
Encrypted storage using STK. B4AE Encrypted Storage
time
Safe time utilities (panic-free). B4AE Safe Time Utilities

ConstantsΒ§

MAX_MESSAGE_SIZE
Maximum message size (plaintext or ciphertext) β€” DoS mitigation.
PROTOCOL_FULL_NAME
B4AE Protocol Full Name
PROTOCOL_NAME
B4AE Protocol Name
PROTOCOL_VERSION
B4AE wire protocol version (Protocol Specification v1.0). Used in handshake and message headers. Value 1 = spec v1.0.
VERSION
B4AE crate version (Cargo.toml)