Testigo Insobornable — Verification Material

Cualquier verificador externo (academico, perito, periodista) puede usar la clave publica abajo para confirmar que cada noticia capturada por Mediometro Digital no fue alterada desde su captura.

Public Key

Algorithm
Ed25519
Curve
edwards25519
Keypair ID
25c5280eaf32a2a9
Public key (hex)
e1fff6ab9afa1e3f0e1865640c0dc2194e339a5a68c5958709e7aab13126af12
Public key (base64)
4f/2q5r6Hj8OGGVkDA3CGU4zmlpoxZWHCeeqsTEmrxI=

How to verify

Canonical blob (LF-separated): item_title item_link item_date captured_at_iso item_description

  1. Compute SHA-256 over the canonical blob → 64 hex chars (matches DB content_sha256).
  2. Verify Ed25519 signature with the public key above against the SHA-256 binary.

Examples

PHP (sodium)

sodium_crypto_sign_verify_detached(hex2bin($sig), hex2bin($sha256), hex2bin($pub_hex))

Python (PyNaCl)

PyNaCl: nacl.signing.VerifyKey(bytes.fromhex(pub)).verify(bytes.fromhex(sha256), bytes.fromhex(sig))

Node.js (tweetnacl)

tweetnacl: nacl.sign.detached.verify(Uint8Array.from(Buffer.from(sha256,"hex")), Uint8Array.from(Buffer.from(sig,"hex")), Uint8Array.from(Buffer.from(pub,"hex")))

Reference

TlamatiniAI Códice 05 §RDSV — Capa A Testigo Insobornable. Implementation: CAL-279 (C1+C5) + CAL-280 (C3).