gpt4 book ai didi

encryption - 如何使用 salsa20 counter nonce?

转载 作者:行者123 更新时间:2023-12-05 03:12:05 25 4
gpt4 key购买 nike

  1. 我不确定我是否理解正确:消息计数器可以用作/代替 nonce?

我的意思是这样的消息:

Header(2bytes) | counter(8bytes) | Body(n bytes encrypted) | HMAC-SHA1

计数器 = 1(63 个位 = 0)可以吗?

  1. 我知道我不应该两次使用具有相同随机数的相同 key 。新连接开启,计数器又从1开始,怎么办?

最佳答案

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com