android – 存储盐和加密文件是否会破坏安全性?

android – 存储盐和加密文件是否会破坏安全性?,第1张

概述我正在编写一个 Android应用程序,旨在使用AES 256加密和解密文件.我使用AES-CBC模式和PBKDF2从用户输入的密码中导出AES密钥.此外,我正在为每个文件的加密密钥生成一个安全的伪随机盐.我正在使用加密文件存储IV和salt,因此我可以重新读取它们并稍后重新生成密钥以便能够解密文件. 我的问题:将盐与加密文件一起存储会破坏安全性和盐本身的任何含义吗?知道盐和IV的攻击者不能对加密 我正在编写一个 Android应用程序,旨在使用AES 256加密和解密文件.我使用AES-CBC模式和PBKDF2从用户输入的密码中导出AES密钥.此外,我正在为每个文件的加密密钥生成一个安全的伪随机盐.我正在使用加密文件存储IV和salt,因此我可以重新读取它们并稍后重新生成密钥以便能够解密文件.

我的问题:将盐与加密文件一起存储会破坏安全性和盐本身的任何含义吗?知道盐和IV的攻击者不能对加密文件进行离线暴力攻击以找出加密密钥吗?

解决方法 盐的主要目的不是秘密,而是为了确保攻击者在尝试暴力破解密码时不能使用快捷方式,例如使用彩虹表(即一个现有的表,或者一个新表用于多个加密文件),或同时强制多个收集的文件(应该有不同的盐).

只要您的密码具有足够的熵并且密钥派生函数中的迭代次数足够高,将盐与密文一起存储就没有问题.
单独的盐不允许任何人解密文件.

此外,如果你想保持盐的秘密(它通常被称为“胡椒”而不是盐),你将不得不考虑一些机制,以获得合法解密的合适盐.

总结

以上是内存溢出为你收集整理的android – 存储盐和加密文件是否会破坏安全性?全部内容,希望文章能够帮你解决android – 存储盐和加密文件是否会破坏安全性?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1136427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存