demo keys — for demonstration purposes only.

This directory ships pre-generated BGV keypairs per key_id, so demo mode skips keygen.
Layout (the engine contract's key store, read by implicant.crypto.demo_keys):

  demo_keys/<key_id>/secret_key.bin
  demo_keys/<key_id>/manifest.json            {"key_id", "engine_id", "created_at", "public": [names]}
  demo_keys/<key_id>/public/public_key.bin    the public key (the server holds the relin/Galois keys)

SECURITY: the secret keys here are PUBLIC (anyone with the package has them).
Data encrypted in demo mode is therefore NOT private. Never use demo mode for
real data.

The platform holds the public material of these key_ids. Regenerating them
(scripts/generate_demo_keys.py) means registering the new public material on the platform
again; that is the owner's decision, and the script refuses to overwrite.
