SM2、SM3、SM4
国密SM2、SM3、SM4是国家密码管理局于2010年发布的三套国家密码算法,分别用于公钥加密、数字签名和分组数据加密。
SM2 算法是基于椭圆曲线密码学的一套公钥密码算法,它包括公钥生成、私钥生成、签名和验签四个步骤。公钥生成过程是随机选择一个椭圆曲线 E 上的点 G,并计算 G 的阶 n。私钥生成过程是随机选择一个整数 x,并计算私钥 d = x mod n。签名过程是使用私钥 d 和消息 M 计算签名 s。验签过程是使用公钥 G 和签名 s 验证消息 M 的有效性。
SM3 算法是一种分组消息摘要算法,它使用 512 位的消息分组,并经过 256 次迭代计算出 256 位的消息摘要。SM3算法具有较高的安全性,并且速度较快,适用于对数据进行摘要和校验。
SM4 算法是一种对称加密算法,它使用 128 位的消息分组,并经过 128 次迭代计算出 128 位的消息密文。SM4算法具有较高的安全性,并且速度较快,适用于对数据进行加密和解密。
1、SM2算法
国密SM2是国家密码管理局于2010年发布的一种基于椭圆曲线密码学的公钥密码算法。它是一种非对称加密算法,使用公钥加密,私钥解密。SM2算法具有较高的安全性,并且速度较快。它可以用于数字签名、数据加密、身份认证等场景。
SM2 算法是基于椭圆曲线密码学的一套公钥密码算法,它包括公钥生成、私钥生成、签名和验签四个步骤。
公钥生成: 公钥生成过程是随机选择一个椭圆曲线 E 上的点 G,并计算 G 的阶 n。
私钥生成: 私钥生成过程是随机选择一个整数 x,并计算私钥 d = x mod n。
签名: 签名过程是使用私钥 d 和消息 M 计算签名 s。
验签: 验签过程是使用公钥 G 和签名 s 验证消息 M 的有效性。
2、SM3算法
国密SM3,是国家密码管理局于2010年发布的一种分组消息摘要算法。它是一种迭代算法,使用512位的消息分组,并经过256次迭代计算出256位的消息摘要。
SM3 算法具有较高的安全性,并且速度较快。它可以用于对数据进行摘要和校验。
消息分组:SM3 算法使用 512 位的消息分组。
迭代计算:SM3 算法使用 256 次迭代计算出256位的消息摘要。
消息摘要:SM3 算法使用 256 位的消息摘要。
3、SM4算法
国密SM4,是国家密码管理局于 2010年发布的一种对称加密算法。它是一种迭代算法,使用128 位的消息分组,并经过128次迭代计算出128位的消息密文。
SM4 算法具有较高的安全性,并且速度较快。它可以用于对数据进行加密和解密。
消息分组:SM4 算法使用 128 位的消息分组。
迭代计算:SM4 算法使用 128 次迭代计算出 128 位的消息密文。
消息密文:SM4 算法使用 128 位的消息密文。
4、优缺点
SM2、SM3、SM4算法具有较高的安全性,并且速度较快。但是,SM2算法需要使用专门的硬件来实现,而SM3、SM4算法可以使用通用的计算机硬件来实现。
5、使用场景
SM2 算法主要用于数字签名、数据加密、身份认证等场景。
SM3 算法主要用于消息摘要、数据进行摘要和校验
SM4 算法主要用于对称加密、对数据进行加密和解密。
微信开源小程序 js 库。国密算法 sm2、sm3 和 sm4 的实现:
GitHub - wechat-miniprogram/sm-crypto: miniprogram sm crypto library
更多推荐
所有评论(0)