Skip to content

Extensibility for additional KES keys? #52

@amesgen

Description

@amesgen

Certain projects (like Peras and Mithril) also need forward secrecy functionality (for the same fundamental reason as Praos). However, they will most likely require different KES keys than what is being used today.

  • Ouroboros Peras requires certificates, which are stake-based threshold multi-signatures. The current KES keys do not have any nice sublinear aggregation properties, so certificates would be very large here (without heavy/still-impractical machinery like SNARKs). One plausible candidate (with forward secrecy) are Pixel signatures which are forward-secure and have the crucial property that any number of Pixel signatures on the same message can be aggregated in constant space.

    Another nice property is that the size of public keys and signatures is independent of the maximum number of time periods $T$, so one can easily choose a large value like $T = 2^{32}$ and still get reasonable public key/signature sizes. So one would most likely only push a new key when setting up a new node, eg due to a planned hardware migration, or if a previous key on some machine has been compromised.

  • Mithril is another protocol that requires stake-based multi-signatures. Currently, they use non-forward secure cryptography, and require everybody to re-register keys every ~5 days, but they are currently in the process of changing their certificate scheme, but I don't know the details here.

This issue is about getting an idea of how easy it would be to let the KES agent manage additional keys in the future.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions