我是一名有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:
我一直在寻找加密,看到了几种彩虹表攻击密码(比如Windows)的实现,都非常成功。
但我还没有看到过对RAR文件进行彩虹攻击的实现。这是为什么呢?是什么使得RAR加密更安全、免受这些攻击?
我一直在寻找加密,看到了几种彩虹表攻击密码(比如Windows)的实现,都非常成功。
但我还没有看到过对RAR文件进行彩虹攻击的实现。这是为什么呢?是什么使得RAR加密更安全、免受这些攻击?
彩虹表是一种用于反向哈希函数进行优化的技术:当你只有密码的哈希值时,可以通过彩虹表找到密码。虽然这在这里不是必需的,但我建议阅读什么是彩虹表以及它们是如何使用的?,里面有一个非常好的解释,可以澄清一些常见的误解。
RAR加密(或几乎任何使用密码加密某些数据的东西)有两个部分。首先,使用密钥派生函数(KDF)从密码中派生出一个加密密钥。然后使用该加密密钥来加密或解密数据。
即使KDF是哈希函数,彩虹表也无济于事:攻击者没有KDF的输出。当密码用于身份验证时,KDF的输出存储在数据库中。当密码用于加密时,KDF的输出是秘密密钥,这就是攻击者想要的。
无论如何,彩虹表只能对未加盐的哈希有所帮助。WinRAR 使用了良好的KDF(PBKDF2),其中包括一个盐。
KDF将可变长度的字符串转换为固定大小的密钥。KDF的一个关键特性是它必须将输入字符串映射到不同的密钥。密码哈希函数(SHA-1、SHA-256等)可以实现这一点。当输入字符串是人为提供的密码时,还有两个重要的属性,哈希函数本身无法实现: