国密SM
首页 / 知识
国密即国家密码局认定的国产密码算法。
主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。
- SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
- SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。
- SM3 消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。
- SM4 无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。
注1:sm2只能公钥加密,私钥解密
注2:sm4分为EBC和CBC模式,目前项目中使用的是CBC模式。
C#库:BouncyCastle.Cryptography
俗称BC库
github: https://github.com/bcgit/bc-csharp
SM扩展: https://cscoder.cn/docs/base/sm_crypto/smcrypto-cs.html
JS库:sm-crypto.js
详细介绍:https://cscoder.cn/docs/base/sm_crypto/sm-crypto-js.html