将密码的哈希值和密文一起标记是安全的吗?
假设我有一个密码,其中我使用Argon2ID和1GB内存来派生加密密钥。然后,我使用XChaCha20加密我的数据,并使用该加密密钥。ChaCha的问题是任何加密密钥都可以工作
解答动态
在AES中也不会得到空输出。AES是一种排列,总是返回一个纯文本,正确与否取决于密钥。
如果我获取Argon2ID ed密码的SHA3_512并将其包含在密文中,密文现在容易受到攻击吗?
One需要为密钥找到一个预映像,通常对于SHA3-512,这个代价大约是$2^{512}$,但是,如果您使用的是xChaCha20,那么代价大约是$2^{256}$,因为输入是256位密钥。在任何情况下,它都是安全的。
您还可以加密全零消息块或选择验证密钥的任何随机消息块。
请注意,如果解密数据的前4个字节包含ASCII字符串“VERA”,则Veracrypt使用的解密被视为成功
此方案安全吗?首先,密码的强度很重要。您可以使用dicewire来获得强密码,也可以使用密码管理器来生成强密码,这些仍然需要您提供主强密码。
缺少的部分是数据的完整性,您可以使用Poly1305和xChaCha20来获得机密性、完整性和身份验证。
另一个问题可能是更新加密数据。如果使用相同的$(Key,nonce)$对进行更新,则文件的更新部分容易被拖拽,并且该部分可能无法通过机密性检查。为了缓解这种情况,您需要使用一个新的$nonce$并加密所有消息,或者也使用一个新密钥。
A旁注;您可以使用此强密码直接用Argon2id派生多个密钥,或者使用HKDF的扩展部分,因为从Argon2id派生的密钥已经是一个伪随机密钥。- End
免责声明:
本页内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与琴岛网公司无关。本页内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。