{"id":"c1180","filename":"c1180_eho4_faza3_permutation.dok.json","weise3_id":"","tip":"implementacija","naziv":"EHO4 Faza 3 — permutation.py, Dual-Pi temporalna permutacija","kreator":"genesis","datum":"2026-05-30","snippet":"","status":"","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"implementacija","naziv":"EHO4 Faza 3 — permutation.py, Dual-Pi temporalna permutacija","c":"c1180","datum":"2026-05-30","sustav":"genesis — eho/eho4/permutation.py","git_commit":"51ff7631","formula":"seed = SHA3-256(node_id || role || window || Pi_K || Pi_S)","funkcije":["derive_seed(node_id, role, window) → 32B","derive_temporal_key(node_id, role, window) → 32B","derive_temporal_permutation(node_id, role, window, n=256) → list[int]","invert_permutation(perm) → list[int]","verify_temporal_key(key, node, role, candidates) → (bool, window)","verify_temporal_key_now(key, node, role, drift) → (bool, window)","key_sequence(node, role, start_w, count) → Iterator[(window, bytes)]","permutation_summary(node, role, window) → dict"],"testovi":"43/43 PASSED","sigurnosna_svojstva":{"BORG_izolacija":"Svaki cvor ima razlicit kljuc u istom prozoru","role_izolacija":"Svaka uloga ima razlicit kljuc — cross-role napad onemogucan","timing_safe":"hmac.compare_digest() za usporedbu — nema timing napada","dual_pi":"Pi_K + Pi_S u seedu — biologijska entropija, ne vanjski server","drift":"Clock drift tolerancija kroz windows_for_drift kandidate","forward_security":"Prosli kljucevi ne otkrivaju buduce (PHI aperiodnost)"},"eho4_status":{"Faza_1_constants":"DONE — 24/24","Faza_2_temporal":"DONE — 36/36","Faza_3_permutation":"DONE — 43/43","Faza_4_reader":"TODO — read_temporal(atom, node, role, drift)","Faza_5_dual_pi":"TODO — dual_pi_hash(data)","Faza_6_integracija":"TODO — Folija + Krunica + 5 servera"},"zakon":["ZAKON_7","ZAKON_32"]}}