首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有零零的XChaCha20?

有零零的XChaCha20?
EN

Cryptography用户
提问于 2022-01-22 15:02:23
回答 1查看 180关注 0票数 0

我们知道,对于ChaCha20和XChaCha20,相同的密钥永远不能与相同的时间一起使用。但假设我每次都使用一个随机的256位密钥.那么现在就可以成为任何东西,因为钥匙总是不同的。假设我把现在设为全为零。只要256位密钥是随机的,那么这个设置就应该是安全的,因为256位足够大,不能被强暴或重用。

现在,让我们后退一步。假设我使用Argon2进行密钥派生。如果我在Argon2中使用256位的salt,那么输出键应该具有256位的随机性,如果我将该密钥输入到XChaCha20中,理论上我就不应该遇到相同的密钥,因此可以使用零零一次。

我有三个问题:

  1. 如果密钥总是随机的,那么使用零零一次有什么问题吗?
  2. 在这种情况下,在XChaCha20中使用192位的nonce有什么额外的好处吗?
  3. 当推荐的salt为128位时,为Argon2使用256位的salt安全吗?

上下文:文件加密

EN

回答 1

Cryptography用户

发布于 2022-01-22 15:28:21

  1. 是。演出会很糟糕的。
  2. 不,它只会进一步降低性能。XChaCha20的目的是有一个足够大到能够随机挑选它的while,同时仍然有一个64位的计数器。
  3. Argon2不使用“现在”。它用盐。这些是不同的:每个用户的salt是唯一的,并且在调用之间保持不变。每条消息都有一个名为“现在”的词。salt并不是为了向输出提供秘密熵,它只是使两个用作输入的相同密码具有不同的输出。salt被认为是一个公共输入,Argon2's的安全分析没有显示它是从输出中找不到的(因为它直接是标准输出结构的一部分)。Argon2输出的熵来自输入密码,而不是盐分。使用salt作为熵输入源而不是密码违反了安全性分析,所以我们不能说它是安全的。
  4. (来自注释)“使用Argon2和标准的(每个用户/帐户/类似的) salt,然后使用带有32字节salt (未指定源)的HKDF来生成加密密钥,ChaCha20的现在是完美的。”这可以工作,但如果使用XChaCha20,则没有必要。Argon2是一个KDF,可以用于安全地从密码中派生密钥。XChaCha20允许使用随机的nonce,所以您可以只使用操作系统的安全RNG。如果您想要使用ChaCha20 (非X版本),那么这可能有助于选择一个非X版本。请注意,对于HKDF,salt必须是固定的,这是您需要更改的信息参数,以便安全地获得唯一的当前值。这篇博客文章很好地描述了为什么,简短的版本是,HKDF有一个安全证明,它依赖于有一个固定的salt值而改变info值来安全地输出独立的结果。
票数 2
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/98259

复制
相关文章

相似问题

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