这是一个后续问题
根据反馈,我现在决定实现AES-GCM-256文件加密的密钥派生,大致如下:

每到scrypt的所有内容都运行一次,HKDF-展开部分被重复对每一个文件进行加密。随机盐分和信息值与加密文件一起存储(未加密)。
我的问题:
发布于 2018-11-23 11:11:14
通常,对于盐类等参数,您应该有128位的最小大小和256位的最大大小。虽然由于生日问题,您应该将安全性参数减半,但我认为大多数加密程序仍然会选择256位盐类作为最大的安全参数。
生日问题不太可能用于增强安全性,比如它在2^{64}文件之后提供的192位安全性。因此,你会有一个很大的保证金256位。盐类有时甚至被设置为64位--例如,在OpenSSL命令行中进行加密--但就像任何64位的数据一样,到目前为止可能处于低端。
请注意,对于基于密码的加密,广告显示256位的安全强度是相当不真诚的。密码通常具有远低于64位的安全强度。即使是一个强大的关键强化功能,如氪星,也不会增加显著的力量。
这样的问题可以通过使用公钥加密来部分解决,其中公钥被用于加密,并且私有解密密钥可以保存在较不容易访问的位置,直到使用为止。该私钥可能也需要包装,可能需要使用问题中指定的方案。OpenPGP是一种(旧的)格式,可以这样描述。
https://crypto.stackexchange.com/questions/64276
复制相似问题