SM2使用的密钥导出函数

SM2中使用了一种KDF,可以参见SM2标准文档第4部分公钥加密算法的5.4.3节密钥派生函数。

函数:K = KDF (Z, klen)

功能:SM2使用的的密钥导出函数

输入参数:

  1. Z:KDF所需的数据。
  2. klen:导出密钥的比特长度。

内部参数:

  1. HASH:伪随机函数,这里选中SM3。
  2. hlen:HASH函数的输出长度,即SM3输出长度256比特。
  3. int(i):计数器i的32比特大端表示。

返回数据:

  1. K:导出密钥。

执行步骤:

步骤1

步骤2n>2exp(32)-1,返回错误标识。

步骤3for i = 1,2,..., n

                  K(i) = HASH (Z || int(i))

扫描二维码关注公众号,回复: 4254909 查看本文章

步骤4返回K = MSB(K(1) || K(2) || ... || K(n), klen)。(取串的最左边kLen比特)。

图1 SM2使用的KDF的执行流程图

猜你喜欢

转载自blog.csdn.net/samsho2/article/details/83592065
sm2