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的执行流程图

SM2使用的密钥导出函数相关推荐

  1. C语言KDF密钥源代码,区块链中的数学-SM2算法与KDF密钥导出函数

    本节讲了SM2算法的KDF函数,从一般用途到SM2特定实现 ## 写在前面 上一节说了[sm2概述和加密过程](https://learnblockchain.cn/article/1516)实现, ...

  2. SM9使用的密钥导出函数

    SM9使用的密钥导出函数是H1和H2函数的前四步,详情参见在第2部分 数字签名算法 5.4.2节密码杂凑函数. 两个密钥导出函数的差异在SM3杂凑时的首字节不同,H1和H2分别使用0x01和0x02作 ...

  3. HMAC和密钥导出(HMAC and Key Derivation)

    简单地计算hash_func(key+msg)以获得MAC(消息认证码)被认为是不安全的.建议改用HMAC算法,例如HMAC-SHA256或HMAC-SHA3-512或其他安全MAC算法. 什么是HM ...

  4. Openssl ECC椭圆曲线算法 - 密钥/签名/验签/加密/解密/SM2密文 - 序列化反序列化导出导入 - C源码

    . . . . 废话不多说,本代码继承自另外一位讲解Openssl ECC椭圆曲线算法大佬的源代码:https://blog.csdn.net/scuyxi/article/details/59182 ...

  5. 国密SM2算法密钥派生函数KDF的实现

    前段时间需要实现国密算法SM2的签名.验签.加密.解密等功能,加解密过程使用到的密钥派生函数(KDF),从网上搜到的代码不符合<GMT 0003.4-2012 SM2椭圆曲线公钥密码算法 > ...

  6. dll 导出函数 下划线_内核中的代码完整性:深入分析ci.dll

    前言 在某些场景中,如果我们希望在允许某个进程进行特定动作前,以一种可靠的方式确认该进程是否可信,那么验证该进程的Authenticode签名是一个不错的方式.用户模式下的DLL wintrust提供 ...

  7. 基于国密SM3算法(openssl接口)密钥派生函数KDF的实现

    前言 最近项目需要使用KDF生成秘钥,对比国密标准(GB_T 32918.4-2016)及网络资料,发现确实没有让我满意的, 自己结合标准和大佬:Heidlyn的帖子<国密SM2算法密钥派生函数 ...

  8. OpenSSL密码库算法笔记——第6.5.2章 密钥协商函数

    现在来看看OpenSSL中哪些函数是用来具体实现密钥协商的. ─────────────────────────────────────── int ECDH_compute_key(void *ou ...

  9. dumpbin发现没有入口函数_详解VS2019 dumpbin查看DLL的导出函数

    之前有人问过ViewDLL这些软件在哪下载.实际上使用VS就可以查看DLL的导出接口. 1.先打开VS内部的Power Shell 2.打开以后应该如下图所示,首先输入dumpbin查看下用法: 3. ...

最新文章

  1. eclipse : java项目中的web.xml( Deployment Descriptor 部署描述文件 )配置说明
  2. 使用C语言读写xlsx文件
  3. 小程序图片src本地服务器路径,微信小程序 图片加载(本地,网路)实例详解...
  4. 基于STM32F405平台的多摩川协议编码器通讯过程(1)
  5. C++[POJ1849]铲雪车问题——树形DP求出树的直径
  6. Windows 10 支持AAC编码的方法
  7. Work Stealing 的运作原理
  8. 苹果Mac虚拟机 Parallels Desktop 17 安装 Win11 体验
  9. 中泰XTP极速交易系统缔造者:为量化而生
  10. html格式显示图标异常,HTM或HTML图标变成无法显示和识别的解决方法大全
  11. Windows系统安装搭建ios开发环境
  12. JS(javascript)中this的几种用法实例详解
  13. stricmp linux 头文件,Windows下程序向Linux下移植细节
  14. 看诸葛亮是如何识别对付小人的~
  15. VC字符串与时间戳相互转换
  16. O准备如何苟进复赛圈?华为软挑开挂指南(附赛题预测)
  17. 18个人生潜规则,你必须知道
  18. Python练习:爬取B站排行榜数据
  19. 计算机网络(12)物理层:数据报与虚电路
  20. DPA华为备份一体机异机恢复达梦数据库

热门文章

  1. Oracle 数据库中 同义词的意思
  2. 博图pro版和adv版区别_笔记本定制版什么意思?笔记本标配版和定制版的区别与利弊分析...
  3. 2020最全微服务:SpringBoot+Cloud+Docker
  4. Jmeter之必备的正则表达式和正则表达式提取器
  5. 全球第四大航空南方航空与阿里云合作,成首家云上航空公司
  6. 如何使用ansys将等高线txt文件转为iges文件
  7. 矩阵分析L6矩阵函数
  8. EICAD V2.92(含3d、平交口)支持升级
  9. 软件测评师--第15小时 可靠性测试
  10. svn重新定位修改uuid,format提示系统找不到指定文件