gpt4 book ai didi

java - XORing 与 SecureRandom 字节流的弱点是什么

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:52:47 25 4
gpt4 key购买 nike

非常接近已经问过的XOR Encryption in Java: losing data after decryption :

与种子 SecureRandom 产生的字节流进行异或运算看起来既简单又快速,例如:

byte[] data = <data to encrypt>
SecureRandom random = SecureRandom.getInstance("SHA1PRNG", "SUN");
random.setSeed("myPassword".getBytes(Charset.forName("UTF-8")));
byte[] mask = new byte[1];
for(int ii = 0; ii < len; ii++) {
sr.nextBytes(mask);
data[ii] = (byte)(0xFF & (data[ii] ^ mask[0]));
}

由于这种方法在对称加密中不是最常用的,它有什么问题?

最佳答案

有几个问题,但主要问题是,如果您只有-随机性,那么您就有-安全性。另一方面,真正的随机不会根据种子给出相同的字节,因此您必须将整个 key 流放在手边。

在该示例中,不要让 SecureRandom 欺骗您。攻击 SHA1PRNG 算法比攻击真正的加密算法(例如 AES)要容易得多。

关于java - XORing 与 SecureRandom 字节流的弱点是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39219376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com