Closed UMU618 closed 4 years ago
https://github.com/wechat-miniprogram/sm-crypto/blob/203cb80c7a715cca3c48804c9b891e1c10d6a080/src/sm2/sm2.js#L60
这个加密算法十分不安全,尽量不要使用。
现在假设有人用这个算法去加密 XML 文件,黑客通过社工猜到原文是 XML。(其它能猜到文件前 32 字节的格式也可以)
<?xml version="1.0" encoding="UTF-8"?> 这是 38 字节
<?xml version="1.0" encoding="UTF-8"?>
黑客根据猜测内容和密文,逆向出第一轮的 XOR 秘钥,然后后面的每一轮都用第一轮和 ct++ 来计算,于是黑客就能解密整个 XML 文件。
希望作者能出个 SM4 加密的版本……第一轮 XOR 秘钥是用 SM2 的方法产生的,这很安全,把这个对称加密的秘钥拿去当 AES 或者 SM4 的秘钥就行了。
由于 ct 初始值是 1,第一轮的 sm3keybase 无法逆算出来,所以这个加密是安全的。
https://github.com/wechat-miniprogram/sm-crypto/blob/203cb80c7a715cca3c48804c9b891e1c10d6a080/src/sm2/sm2.js#L60
这个加密算法十分不安全,尽量不要使用。
现在假设有人用这个算法去加密 XML 文件,黑客通过社工猜到原文是 XML。(其它能猜到文件前 32 字节的格式也可以)
<?xml version="1.0" encoding="UTF-8"?>
这是 38 字节黑客根据猜测内容和密文,逆向出第一轮的 XOR 秘钥,然后后面的每一轮都用第一轮和 ct++ 来计算,于是黑客就能解密整个 XML 文件。
希望作者能出个 SM4 加密的版本……第一轮 XOR 秘钥是用 SM2 的方法产生的,这很安全,把这个对称加密的秘钥拿去当 AES 或者 SM4 的秘钥就行了。