我最近安装了一个名为“秘密空间加密器”的android应用程序,并认为我在它中发现了一个严重的缺陷。
让我解释一下:这个应用程序提供了各种不同的密码来使用,我用Threefish 1024加密了一个以“您的密钥”作为密钥的测试消息。
然后使用应用程序中的导出函数将密文保存到文本文件中。然后,我将应用程序中的文本加密程序更改为使用Blowfish 448,并再次将TF-1024加密消息导入应用程序。
然后我输入了“您的密钥”测试密钥,使我完全惊讶的消息成功解密!我用一个密码加密了一条消息,然后用一个完全不同的密码解密了同一条消息!
现在这应该是完全不可能的,对吧?如果是这样的话,那么这个应用程序有致命的缺陷吗?
发布于 2015-09-10 23:56:20
我已经检查了源代码(嗯,或多或少,它设计得不太好,主要密码类是1600行),正如里奇所猜测的,算法与密文一起存储。
非常可怕的东西,但是它确实为文本字符串做了EAX模式,让我感到惊讶。不过,它可能只用于源自密码库代码的文本字符串。
文件加密在CBC模式下执行。它使用CBC模式压缩和流文件(ZIP)。它使用静态IV,但这被包含在加密中的随机头所抵消。
这是一个自产的项目,代码中的文档或注释很少,类设计也有点不稳定。
感谢向Tron提供到Paranoiaworks网站上的格式质疑的链接。
https://crypto.stackexchange.com/questions/29100
复制相似问题