我在谷歌上搜索过很多东西,但是大多数事情都是一样的,但没有回答我的问题,所以希望你们能帮我解决问题。
故事:我正在为自己和朋友创建一个加密软件,用AES 256加密消息和文件(在java中)。
问题:使用AES 256加密的Serval其他软件支持任何密钥长度,例如16中的10 that。这怎么可能(比如winzip的aes加密)?
另一条路也是。当密钥必须是16个字符时,加密如何依赖于密钥的强度?我当时的想法是,如果密码小于16,那么如果密码长度大于16,则用预定义的种子填充剩余的字符,然后使用重叠的字符作为盐。
我是不是完全错过了什么?当密码要求为16个字符时,如何才能根据密码的好坏来确定加密的强度?
我如何安全地使用AES256,但仍然能够加密其他人的文件(谁使用相同的软件)
最后一个问题是要注意到使用的是哪种加密吗?他们有一个可以在魔法中看到的模式吗?拥有多个加密类型(具有相同的密码或预定义的修改)会有什么好处吗?
美国国家安全局表示,他们几乎可以用超级计算机的农场破解任何东西,用一个装满超级计算机的数据中心,实在是太难对付了。
发布于 2016-05-26 00:21:00
使用AES 256加密的Serval其他软件支持任何密钥长度,例如16的10 10char。这是怎么可能的(比如winzip的aes加密)?另一条路也是。当密钥必须是16个字符时,加密如何依赖于密钥的强度?我当时的想法是,如果密码小于16,那么如果密码长度大于16,则用预定义的种子填充剩余的字符,然后使用重叠的字符作为盐。
通过使用密码或其他键拉伸机制的散列,他们正在将密码转换为密钥。
当然,任何其他希望与您的软件互操作的软件都应该以同样的方式实现。就像您的程序应该在几种密码模式中使用IV或AES一样(EBC、CBC、CFB、CTR…)。
具体来说,zip规范将用户提供的密码与两个盐字节组合在一起,并使用1000轮基于HMAC-SHA1 1的PBKDF2。
我是不是完全错过了什么?当密码要求为16个字符时,如何才能建立加密的强度?不管我如何安全地使用AES256,但仍然能够加密其他人的文件(谁使用相同的软件)。
你必须跟着压缩AES加密规范。
或者,使用一个已经为您处理过的库,比如7-拉链。
最后一个问题是要注意到使用的是哪种加密吗?他们有一个可以在魔法中看到的模式吗?拥有多个加密类型(具有相同的密码或预定义的修改)会有什么好处吗?
zip文件有一个字段,指示所使用的加密类型。
美国国家安全局表示,他们几乎可以用超级计算机的农场破解任何东西,用一个装满超级计算机的数据中心,实在是太难对付了。
16字节的键是128位的键,现在被认为是.请注意,这与一个16字符的密码是非常不同的,该密码大约是70位。
https://security.stackexchange.com/questions/124219
复制相似问题