tipimplementacija
chain_entryc0957
statusDONE — binarni u /var/www/genesis/static/
zastoJavaScript 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"
}