加密本地文件的算法,可以解密出许多真实的结果(对称的)。

问题描述 投票:0回答:1

我有一个本地文件 passwords.txt 我在这里存储了我个人使用的许多网络服务的所有登录和密码。

在真正关键的条目中,有一些符号和快捷键,所以它已经有一定的安全性了

但我也想加密它,防止潜在的远程或物理访问,但当我需要读取它或添加一些内容时,能够轻松地解密它。

所以,我需要一些脚本,将 passwords.txt 和一些自己的 password,这将创造 encrypted_passwords 内含字节码的文件,可以很容易地通过以下方式解密 password,像。

>>> encrypt passwords.txt password
>>> decrypt encrypted_passwords password

加密算法应该产生这样的结果 encrypted_passwords如果使用错误的密码解密,可能会产生内容,可以被视为真实的东西,然后只能手动检查。

例如: :

>>> cat passwords.txt
example1.com mylogin1 mypassword1
example2.com mylogin2 mypassword2
>>> encrypt passwords.txt password

来了 攻击者,发现我的 encryptdecrypt 脚本,而且。

>>> decrypt encrypted_passwords one-of-the-wrong-passwords
>>> cat passwords.txt
example3.com@mylogin3:mypassword3
example4.com@mylogin4:mypassword4
example5.com@mylogin5:mypassword5

因此,攻击者可以得到的东西 可能甚至在不同的长度和格式, 但对待它像, "嗯,看起来很真实,很有意义",但实际上,它与现实毫无关系。


那么,哪种算法可以用于这样的目的,它的强度如何?password 应该是?

我已经准备好了,那个密码的重量甚至可以达到100多兆,必须存储在其他文件或多个文件中,但会很高兴能够记住它

P.S.如果还有一些可靠的bash或python工具脚本库,我也会很高兴。

algorithm security encryption cryptography
1个回答
1
投票

我相信这是一个比它的价值更多的麻烦,但只是为了记录,这是你做什么。

  1. 获取一个真实密码的列表 你可以用它来建立一个真实密码的统计模型。
  2. 用这个模型来建立一个 压缩机像PPM压缩器一样,可以压缩你的密码列表(https:/en.wikipedia.orgwikiprediction_by_partial_matching。). 用这个模型压缩你的密码列表,将去除所有的冗余,并给你一个更短的随机数据字符串。 压缩器和模型将被内置到您的程序中。
  3. 然后,你的加密程序将压缩和加密你的密码列表。
  4. 现在当你用任何密码解密时,你会得到一串随机的数据。 请确保在你的加密格式中没有任何头或填充物会泄露数据是否正确。
  5. 当你解压时 任何 一串看似随机的数据,该模型将生成一个可信的密码列表。 这个列表的可信度取决于你的统计模型有多好。 此外,还要确保你的压缩格式不包括任何可以表明解压是否正确的头文件或标记。

正如我所说,这比它的价值要麻烦得多。 制作一个好的模型和一个好的压缩器来完成这个任务是相当困难的。

© www.soinside.com 2019 - 2024. All rights reserved.