0

所以,如果有这样的事情,我正在尝试一些安全的python编程:D)。这一半是一个真实世界的项目,一半只是一个训练练习。因此,理论和实践建议都值得赞赏。

我正在使用 AES 加盐加密脚本,它以...的方式加密文本

data = "hello"
encrypted_text = encryption(data, salt_word)
print encrypted_text (responds with "huio37*\xhuws%hwj2\xkuyq\x#5tYtd\xhdtye")
plain_text =  decryption(encrypted_text, salt_word)
print plain_text (responds with "hello")

问题:如果您知道“encrypted_text”和“plain_text”的值......您可以对“salt_word”进行逆向工程。如果是这样,它有多难(PC 上 12 秒,Cray 上 20 年?)

我对 AES 的整体理解是,不,你不能。但我只是没那么熟悉。


我在这里使用脚本的一个微不足道的修改版本: Encrypt/decrypt data in python with salt

基本上,它使用“盐”来加密“数据”。salt 是一个字符串,数据以一串加密字符的形式出现。

使用具有相同盐字符串的解密,将数据返回为普通文本。

4

1 回答 1

1

当您说 AES 加盐时,您具体在说什么?这是 IV 到 CBC 还是 CTR 模式?它是用于使用密码(PBKDF2)生成密钥的盐吗?

在任何一种情况下,盐通常都不会保密。IV 可以明文传输,并且使用散列方案通常与散列一起存储(否则就不可能再次计算散列)。

关于为什么以明文传输 IV 是安全的,我已经给出了先前的答案,您可以在此处找到。

于 2013-06-11T13:46:35.207 回答