使用64位计数器作为HMAC的随机数

时间:2017-10-10 19:18:01

标签: cryptography hmac nonce

我有一种情况需要在两台机器之间发送的消息的HMAC计算中添加一个随机数。我正在考虑使用无符号64位计数器作为随机数。

 // key pre-shared between sender and receiver
 HMAC(key, message || nonce)

我会在每条消息后递增计数器。接收机器将验证HMAC并增加其计数器。我在线搜索,我得知一个nonce不能重复,但我也读到一个计数器可以作为一个nonce。

由于64位值最终会回绕到零,这样的计数器可以被视为nonce吗?

1 个答案:

答案 0 :(得分:1)

  

由于64位值最终会回绕到零,这样的计数器可以被视为nonce吗?

2^64 = 18446744073709551616。这个数字非常大。如果您每秒发送一百万个消息,则必须发送数千年的消息,直到您的64位nonce包装为止。