首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用带有空值的Chacha20

使用带有空值的Chacha20
EN

Security用户
提问于 2020-03-31 15:46:58
回答 2查看 333关注 0票数 0

我是ChaCha20的新手。从RFC --

ChaCha20的输入如下:

O 256位键,被视为由8个32位的小对数位整数级联而成.

O一个96位的非整数,被看作是三个32位的小对数位整数的级联.

O 32位块计数参数,作为32位小端整数处理.

现在,计数器不是作为输入选项提供的。他们在引擎盖下面实现了计数器。为了解决这个问题,让我们假设计数器是正确实现的。

现在,如果我使用NULL nonce,计数器仍然被使用。会没事吗?

在密钥必须更改之前,可以以这种方式加密的最大邮件数是否为2^32?或者是最大字节数?

EN

回答 2

Security用户

发布于 2020-03-31 16:11:11

现在不一定是秘密的或不可预测的,它只是不能被重复使用。用一个给定的钥匙一次使用全零的一次是很好的。您只需确保永远不要重用它,就像使用任何其他的当前值一样。要明确的是,这意味着最多只能有一条消息。

票数 1
EN

Security用户

发布于 2022-10-20 21:37:27

另一个答案是有规律的,那么直觉呢?

ChaCha将一个数据块转换为一个不可预测的数据块,并使用您的纯文本进行XOR。因为XOR是可逆的,相同的不可预测的数据块将把密文返回到明文。

如果两段明文是相同的,并且对不可预测块的相同字节进行xor编辑,则它们得到相同的密文值。在足够大的范围内,攻击者将能够看到“哦,这个模式出现了好几次,这一定意味着他们正在发送可预测的文本。”这是一个街区计数进来的地方。块计数被混合到块中,为每个明文块提供不同的不可预测的数据块。

但是,如果相同字节的明文发生在给定块的同一部分,那么它们每次都会以相同的方式加密。同样,攻击者可能会看到这种模式。因此,我们引入了一个n,一个大的随机数,它被引入到块中,使得它对每条消息都是随机的(并且通过块计数的幂,每条消息的每个块)。

因此,所有零的IV都可以,但是如果两个明文用相同的IV (0或其他)加密,则可能会向攻击者显示明文中的模式。硬和快速的规则是,IV应该完全随机生成,并与密文一起传输。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/229027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档