I understand that domain separation in hashing is important, but I'd like to understand more clearly why and what are the risks involved.

  • What is the theoretical justification for requiring domain separation?
  • What are examples of schemes/protocols that can be broken if domain separation is not used?
  • How can one evaluate whether the lack of domain separation is an issue or not? (e.g. Ed25519 does not use it, why is that acceptable?)
  • 4
    $\begingroup$ EdDSA as specified in IETF RFC 8032 include variants for both curves that include domain separation info. $\endgroup$
    – DannyNiu
    Apr 20, 2023 at 3:05
  • 2
    $\begingroup$ Similar Q for DSS. $\endgroup$
    – DannyNiu
    Apr 20, 2023 at 4:53
  • 3
    $\begingroup$ I made an answer to DannyNiu's older question. It should (at least partially) answer the first two points, and give vague clues for the third (but it does not formally answer that, other than by: no context is needed if we follow the "one usage, one key" principle). $\endgroup$
    – fgrieu
    Apr 20, 2023 at 6:17

1 Answer 1


On the first question,the following paper: "Separate Your Domains: NIST PQC KEMs, Oracle Cloning and Read-Only Indifferentiability" touches upon the usefulness of domain separation especially for formalizing oracle cloning (making multiple random oracles out of a single one).

On the second question, the paper discusses vulnerabilities due to lack of domain separation in NIST post-quantum KEMs.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.