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.
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:
SequentialCommitor aHashertrait).