Skip to content

Associated metadata for capsules #96

@fjarri

Description

@fjarri

The following scheme can be used to associate reencryption conditions (or other metadata) with capsules:

Capsule contains public points $P_r = s_r * G$ and $P_u = s_u * G$ where $s_r$ and $s_u$ are secret (and ephemeral) scalars, and $G$ is the generator. At the moment of capsule creation Enrico can associate some metadata $M$ with it as follows:

  • calculate a hash $h = H(M)$ of the metadata;
  • generate a secret ephemeral scalar $x$;
  • calculate $P_x = x * G$ and $P_h = (x + h (s_r + s_u)) * G$;
  • publish $(M, P_x, P_h)$.

Now anyone having that proof and the capsule can verify that the proof was indeed created by the creator of the capsule by checking that $P_x + h * (P_r + P_u) = P_h$. This is essentially the same approach that was used to attach metadata to capsule frags.

Note that this only establishes a one-way correspondence. Given a capsule one cannot know if any proofs were created for it; and Enrico can create several proofs for different metadata which all would pass the verification. Although this may not be important for the goal of attaching reencryption conditions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    cryptographyNeeds attention of someone who knows what they're doingenhancementNew feature or requestscopingScoping required for further action

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions