{"id":"c0957","filename":"c0957_genesis_auth_wasm_kompajliranje.dok.json","weise3_id":"","tip":"implementacija","naziv":"GenesisAuth WASM — Rust crypto core začahuren u WebAssembly","kreator":"genesis","datum":"2026-05-18","snippet":"","status":"DONE — binarni u /var/www/genesis/static/","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"implementacija","naziv":"GenesisAuth WASM — Rust crypto core začahuren u WebAssembly","chain_entry":"c0957","datum":"2026-05-18","status":"DONE — binarni u /var/www/genesis/static/","zasto":"JavaScript algoritmi su čitljivi svakome. WASM binary nije — Ed25519, PBKDF2 i WeisE3 algoritmi su zapakirani u 150KB binarni koji browser ne može trivijalno reverseati.","arhitektura":{"rust_crate":"sdk/wasm/genesis_auth_core/src/lib.rs","cargo_toml":"sdk/wasm/genesis_auth_core/Cargo.toml","output_wasm":"static/genesis_auth_core.wasm (150KB)","output_js_bindings":"static/genesis_auth_core.js (wasm-pack generated)","wrapper":"static/genesis-auth-wasm.js (tanki JS wrapper)","js_api_kompatibilnost":"Identičan API kao genesis-auth.js — drop-in zamjena"},"rust_dependencies":{"ed25519_dalek":"2.x — batch verify, const-time, FIPS 186-5","pbkdf2":"0.12 + hmac — 100.000 iteracija SHA-256","sha3":"0.10 — SHA3-256 za WeisE3 hasheve","sha2":"0.10 — SHA-256 za salt derivaciju","hex":"0.4 — hex encoding/decoding","base64":"0.22 — QR token encoding","zeroize":"1.x — briše seed iz memorije odmah nakon korištenja","getrandom":"0.2 + js feature — CSPRNG u WASM kontekstu","wasm_bindgen":"0.2 — Rust↔JS bindings"},"wasm_eksporti":["derive_keypair(passphrase) → { pub_hex, seed_hex }","sign_challenge(seed_hex, challenge_hex) → signature_hex","verify_signature(pub_hex, msg_hex, sig_hex) → bool","weise3_id(pub_hex) → weise3_id_hex","genesis_hash(content, creator, ctx) → sha3_256_hex","create_offline_token(seed_hex, pub_hex, ttl, context) → base64_payload","verify_offline_token(base64_payload) → { valid, expired, weise3_id, ... }"],"sigurnosna_poboljsanja":{"obfuskacija":"WASM binary — algoritmi nisu vidljivi u JS debuggeru","zeroize":"Seed se briše iz WASM memorije odmah nakon korištenja (Rust Zeroize trait)","const_time":"ed25519-dalek koristi constant-time operacije (ne vulnerability na timing napad)","wasm_memory_isolation":"WASM memory je izolirana od JS heapa — keypair nikad ne izlazi u JS","build_reproducibility":"cargo build --release je deterministički — isti kod = isti WASM"},"wasm_binary":{"putanja":"/var/www/genesis/static/genesis_auth_core.wasm","url":"https://genesis.limit-connect.com/static/genesis_auth_core.wasm","velicina":"150374 bajta (147 KB)","sha3_256":"99590c2493d6599dec18bf4e6e966e60dfcf87ddc8bfef6f391c376d1c677758","weise3_hash":"a92e36a9edde6fb71010aaf0db5f30eb7fbf738b930f2a158040979bf7d4b55c","build_tool":"wasm-pack 0.13.1 + Rust 1.95.0","profile":"release, opt-level=z, lto=true, panic=abort, strip=true"},"integracija":{"klasicni_html":"<script type='module'>\n  import GenesisAuthWasm from '/static/genesis-auth-wasm.js';\n  const auth = await GenesisAuthWasm.init();\n  const session = await auth.login('passphrase');\n</script>","npm":"import GenesisAuthWasm from '@genesis/auth/wasm';","drop_in":"Isti API kao genesis-auth.js — zamijeni URL, ne mijenjaj kod integracije"},"rebuild_komanda":". $HOME/.cargo/env && cd /var/www/genesis/sdk/wasm/genesis_auth_core && wasm-pack build --target web --release && cp pkg/genesis_auth_core_bg.wasm /var/www/genesis/static/genesis_auth_core.wasm && cp pkg/genesis_auth_core.js /var/www/genesis/static/genesis_auth_core.js","zakon_veze":{"zakon_37":"FenixVault™ — WASM je novi L6 sloj BPZ-9 (algoritmi u binarnom, ne u kodu)","zakon_40":"GenesisLogin jedini provider — WASM edition je upgrade postojećeg","zakon_3":"Trojna pohrana — chain entry + static file + brsljani replika"}}}