使用HMAC进行消息签名时,将密钥,消息或两者兼容是否明智?

Ste*_*lay 6 hash salt digital-signature hmac

假设我正在设计一个库,用SHA-256 HMAC签名/验证消息.如果最终用户使用弱共享密钥并发送大量短消息,我认为存在攻击者发现密钥的风险.

我的直觉说我应该在密钥上添加一个唯一的(每个消息)盐,以便对密钥进行逆向工程更难.

关键盐腌有多少帮助,我还能通过腌制消息获得任何收益吗?

Van*_*gal 3

通常人们会在钥匙上加盐。它确实提高了安全性,一方面是因为它使对密钥进行逆向工程变得更加困难,另一方面是因为相同的消息并不总是具有相同的 MAC,因此攻击者不能简单地重新发送之前使用相同 MAC 发送的消息。我不知道对消息加盐会给你带来什么。