TL;DR
Hashing public keys before signing can lead to unintended vulnerabilities in digital signature algorithms. This practice may allow signing messages without having seen them, posing risks for protocol designers.
✦ Why It Matters
Review your signing algorithms to avoid hashing public keys and ensure message integrity.
Key Takeaways
Full Summary
Digital signature algorithms often sign a hash of a message instead of the message itself due to size limitations. This approach can inadvertently allow a signer to produce valid signatures on messages they haven't actually seen, as they may have access to the hash or a related signature.
The article critiques this practice, particularly in the context of the ML-DSA (Machine Learning Digital Signature Algorithm), highlighting the potential for misuse. By using a function like SHAKE-256 to hash the public key and message context, the risk of signing unseen messages increases.
This issue is not just theoretical; it can lead to real-world vulnerabilities in cryptographic protocols. Understanding this pitfall is crucial for protocol designers to ensure the integrity of their signing processes.
Related