- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的意思是这样的消息:
Header(2bytes) | counter(8bytes) | Body(n bytes encrypted) | HMAC-SHA1
计数器 = 1(63 个位 = 0)可以吗?
最佳答案
I understand that I should never use the same key with the same nonce twice. What do I do when a new connection is started and counter starts from 1 again?
如果您重复使用具有相同 key 的随机数,this happens .您应该将用作随机数的计数器存储在客户端的某个位置,为您发送的每条消息递增它,并在发送该消息之前将其写回存储。这很重要,因为如果你写回失败,但发送消息,下一条消息将使用相同的计数器。如果您不能写回计数器,您真的不应该发送消息。
如果您不能在客户端存储诸如计数器之类的东西,那么您可以随机生成随机数。 64 位并没有为良好的抗碰撞性提供太多空间。您应该期望在使用相同 key 的 232 消息之后获得第一次随机数冲突。如果您的消息比这少得多,那么您可以简单地生成一个随机随机数并相当确定不会发生冲突。如果您想更加确定,请使用 XSalsa20,它使用 192 位 IV/nonce。
I am not sure if I got it right: a counter of messages can be used as/instead of the nonce?
Nonce 表示使用一次的数字。如果您总是递增计数器,那么您将始终使用一个不同的数字一次。所以,是的,计数器可以用作随机数。
关于encryption - 如何使用 salsa20 counter nonce?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34953631/
标题说明了一切。错误是 Error 1 error LNK2019: unresolved external symbol "private: void __thiscall Salsa::getTo
我是一名优秀的程序员,十分优秀!