sm

The Redefine Team Lv5

国密

国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。

  1. SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
  1. SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。
  1. SM3 消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。
  1. SM4 无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。

由于SM1、SM4加解密的分组大小为128bit,故对消息进行加解密时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。

SM2 mode

  1. C1C2C3

  2. C1C3C2

国标修改为C1C3C2拼接模式,C2是一个可变长的比特串,所以后来改到后面

但bouncycastle 在实现上参考的是
draft-shen-sm2-ecdas-02草案, 所以默认使用的是C1C2C3模式

在1.61实现中SM2Engine 没有对mode 进行设置,所以默认是C1C2C3模式,在1.62实现中添加了对mode 的构造参数

可以通过传递enum 的方式使用C1C3C2模式

在draft-shen-sm2-ecdsa-02 中的7.2.1.A8 中描述了输出密文等于C1C2C3, 在ietf 中关于02草案标识为无效

按照现行SM2公钥加密算法中对输出密文的描述,输出密文为C1C3C2

目前为了保证统一,全部使用C1C2C3模式

  • 标题: sm
  • 作者: The Redefine Team
  • 创建于 : 2019-05-15 11:40:46
  • 更新于 : 2023-05-23 18:52:03
  • 链接: https://redefine.ohevan.com/2019/05/15/sm/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
sm