sm2算法简称国密,下面是百度讲解:
SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。
随着密码技术和计算机技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法。
是的,相比更安全的sm2,国家密码管理部门决定取代rsa算法,不过现在逆向时见到更多的依旧是rsa算法.
而sm2是一种非对称算法,现在已经更新到sm4了,sm4采用的是对称算法,enn,就很奇妙.
而逆向的方法也很简单,只需要下载node 里的写好的sm-crypto库就行:
npm install sm-crypto
这个库里包含了sm2,3,4,足够使用.
导入这个包,
cost sm2 = require("sm-crypto").sm2;
下面加密跟解密只需要调用,
不过你要记得先找到加密点,是用的sm哪一代,比如我的是sm2加密参数,将加密后的参数传递就可以拿到数据了,找到后,要拿到公钥,sm2.doEncrypt(加密前的值,公钥,1).这个1和0是因为sm2有三段值,根据0和1的值不同,有c1+c2+c3或者
c1+c3+c2,返回的结果不同.
具体想要简单了解sm几代特点的,可以看看
k哥的爬虫文章: https://baijiahao.baidu.com/s?id=1715937296598047882&wfr=spider&for=pc