← DokArh Portal
fix

c0172 — P0 Key Management: KM-01 do KM-10

Kreator: CC/sonnet + Ivan Datum: 2026-05-09 Status: DONE (KM-02..10) | KM-01 PENDING (Ivan treba pokrenuti ceremoniju)
WeisE3™ ID: (nema)
tipfix
prioritetP0
statusDONE (KM-02..10) | KM-01 PENDING (Ivan treba pokrenuti ceremoniju)
commitac95bf4
analiza{ "sto_je_otkriveno": [ "KM-01: GENESIS_KEY u .env plaintextu — Shamir ceremonija postoji ali NIKAD nije pokrenuta", "KM-02: KRITIČNO — Shamir bi pao odmah: key je 64 bajta, _PRIME_256 secp256k1 prima prihvaća samo 32 bajta", "KM-03: Nema key_version u Blok — rotacija ključa = nekompatibilan lanac bez verzioniranja", "KM-04: XOR u pecat() gubi informaciju — teoretski bug, ne praktični exploit (SHA3 kolizija infeasible)", "KM-05: lru_cache na get_settings() — key rotation za
implementirano{ "KM-02": { "status": "DONE", "sto": "shamir.py: migriran s secp256k1 (_PRIME_256 = 2^256-2^32-977) na M521 (2^521-1)", "zasto": "M521 je 521-bitni Mersenne prime — prima 64-bajtni GENESIS_KEY (512 bita < 521 bita)", "share_size": "66 bajta (field elements M521), ne key size", "backward_compat": "Legacy 32-bajtni ključevi i dalje rade — auto-detekcija po duljini dionice (33b vs 67b raw)", "testovi": "split 5-od-3, round-trip, rekonstrukcija, legacy 32-bajt — sve OK"
km01_pending{ "status": "IVAN MORA NAPRAVITI", "komanda": "cd /var/www/genesis && .venv/bin/python3 shamir_ceremonija.py split", "sto_ce_se_desiti": [ "5 dionica generirano (3-od-5 prag)", "Provjera hash prikazana (16 znakova) — sprema se uz ceremonijalni zapisnik", "Ivan upisuje dionice 1-5 na papir", "Dionice 2-5 dijele se čuvarima (Marija, Ivica, Antonio, odvjetnik)", "GENESIS_KEY se ne briše iz .env — ostaje za daily operation", "Shamir je disaster recovery mehanizam, ne da
testovi{ "ZAKON.py": "29/29 zakoni prolaze (svi)", "shamir_64b": "split 5-od-3, rekonstrukcija 3 različite kombinacije — OK", "shamir_legacy_32b": "backward compat OK", "settings_validator": "128-hex check + integrity + fingerprint — OK", "blok_key_version": "skuj_blok() vraća key_version='kv1' — OK", "startup_check": "fingerprint=0b17f840b30483a6 logirano pri testu" }
zakon[ "ZAKON 32 — P0 fix bez chain entry = nevidljivi fix", "ZAKON 2 — Bršljan je naš internet" ]
_chain_meta{ "prev_entry": "c0171_genesis_sso_expiry_fix.dok.json", "lanac_visina": 172, "genesis_key_fingerprint": "0b17f840b30483a6" }