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"
}