SM2使用的密钥导出函数

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/samsho2/article/details/83592065

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))

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

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

展开阅读全文

没有更多推荐了,返回首页