SM2、RSA(2048)比较
安全性:
SM2安全性高于RSA(2048),SM2大致和RSA(3072)相当
加解密:
1:SM2加密算法耗时与解密算法耗时差不多,同时数据量的增加对于耗时影响小,比较平缓
2:RSA加解密耗时差距较大,同等数据量加密耗时比解密耗时低,且数据量的增加对于耗时影响很大,指数级增加
3:当数据量较小时,RSA加密耗时低于SM2加密。在100字符串时,有25倍差距。但当数据量为8KB时,两者耗时差不多。而当数据量越来越大时,RSA加密耗时将大于SM2加密,且差距会越来越明显
4:RSA解密耗时大于SM2解密。在100字符串时,有4倍差距, 且当数据量越来越大时,差距越大
加验签:
1:SM2加签算法耗时与验签算法耗时差距不大,同时数据量的增加对于耗时影响小,比较平缓
2:RSA加验签耗时差距较大,同等数据量验签耗时比加签耗时低,当数据量较低时两者有几十倍的差距
3:当数据量较小时,SM2加签耗时低于RSA加签耗时。在100字符串时,有4倍差距。但当数据量增加到100K以上时,两者差距开始逐步减小
4:当数据量较小时,SM2验签耗时远大于RSA验签耗时。在100字符串时,至少有4倍差距。但当数据量逐渐增加时,两者差距开始逐步减小,当数据量到达1M时,两者耗时差不多
SM3、SHA-256比较
安全性:
SM3略高于SHA-256
算法:
两者非常相识,只是SM3稍复杂一些
计算量:
SM3耗时略高于SHA-256,一般而言系统上SHA-256会经过汇编优化,而SM3并没有优化,所以一般测试情况下,SHA-256性能会显著高于SM3,大概有2倍差距
SM4(128bit)、AES(128bit)比较
安全性:
SM4略低于AES(128)
问题:
SM4目前是只有128比特,随着时间的发展很可能后面要求增加比特到192或256
计算量:
SM4与AES(128)在ECB、CBC模式整体上加解密耗时差距不大,在加密性能上略差。一般而言系统上AES(128)会经过硬件优化,而SM4并没有优化,所以一般测试情况下,AES(128)性能会显著高于SM4,至少有5倍差距
参考文献:国密算法分析与软件性能研究