Skip to content

Domain separation for protocol object commitments #3770

Description

@bobbinth

Various recent PRs (e.g., #3662, #3670) added versioning to various protocol objects. But as discussed in #1155, it would be beneficial to add domain separation to these schemes as well. We also have an RFC in 0xMiden/crypto#1026 that proposes a uniform approach to both versioning and domain separation.

To complete this issue we need to:

  • Align on the versioning approach. My current thinking here is versioning could remain as it currently is (i.e., part of the payload that is being hashed).
  • Implement a uniform scheme for domain separation (e.g., building on SequentialCommit or a Hasher trait).
  • Apply this scheme to protocol objects - probably the same ones as we've implemented versioning for - though, maybe the set should be expanded.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kernelsRelated to transaction, batch, or block kernelsrustIssues that affect or pull requests that update Rust code

    Fields

    Priority

    None yet

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions