与RC4(RC4_PRNG + XOR)类似,使用另一个CSPRNG(密码安全伪随机数生成器)[Isaac,BlumBlumShub等]而不是RC4并使用生成的密钥流对数据进行XOR处理是否安全?
答案 0 :(得分:3)
基本上这只是使用Blum Blum Shub(或任何PRNG)作为流密码。这不是它们的设计使用方式,它们可能对在流密码上下文中有意义但在CSPRNG上下文中没有意义的攻击(例如相关密钥攻击)很弱。
如果这是你想要的,那么你最好只使用现代流密码。例如,DJB的Salsa20备受好评。
答案 1 :(得分:1)
嗯,这取决于。
大多数加密算法的表现远远超过XOR。但那是因为密钥短于明文。如果密钥与明文一样大,并且真正随机,那么就不可能破解它(它被称为One Time Pad)。
所以,你需要解释更多。
但是我猜你的密钥长度和你的输入长度不一样,即使它是,几乎可以肯定你正在使用的随机数服务不是真正的安全,所以我建议反对你的方法(此外,不用说(也许)OTP的问题是密钥交换)。
答案 2 :(得分:1)
在这个方案中更换CSPRNG可能同样安全,并且具有完全相同的假设,弱点和实际问题。