SM2使用的密钥导出函数
SM2中使用了一种KDF,可以参见SM2标准文档第4部分公钥加密算法的5.4.3节密钥派生函数。
函数:K = KDF (Z, klen)
功能:SM2使用的的密钥导出函数
输入参数:
- Z:KDF所需的数据。
- klen:导出密钥的比特长度。
内部参数:
- HASH:伪随机函数,这里选中SM3。
- hlen:HASH函数的输出长度,即SM3输出长度256比特。
- int(i):计数器i的32比特大端表示。
返回数据:
- K:导出密钥。
执行步骤:
步骤1: 。
步骤2:若n>2exp(32)-1,返回错误标识。
步骤3:for 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使用的密钥导出函数相关推荐
- C语言KDF密钥源代码,区块链中的数学-SM2算法与KDF密钥导出函数
本节讲了SM2算法的KDF函数,从一般用途到SM2特定实现 ## 写在前面 上一节说了[sm2概述和加密过程](https://learnblockchain.cn/article/1516)实现, ...
- SM9使用的密钥导出函数
SM9使用的密钥导出函数是H1和H2函数的前四步,详情参见在第2部分 数字签名算法 5.4.2节密码杂凑函数. 两个密钥导出函数的差异在SM3杂凑时的首字节不同,H1和H2分别使用0x01和0x02作 ...
- HMAC和密钥导出(HMAC and Key Derivation)
简单地计算hash_func(key+msg)以获得MAC(消息认证码)被认为是不安全的.建议改用HMAC算法,例如HMAC-SHA256或HMAC-SHA3-512或其他安全MAC算法. 什么是HM ...
- Openssl ECC椭圆曲线算法 - 密钥/签名/验签/加密/解密/SM2密文 - 序列化反序列化导出导入 - C源码
. . . . 废话不多说,本代码继承自另外一位讲解Openssl ECC椭圆曲线算法大佬的源代码:https://blog.csdn.net/scuyxi/article/details/59182 ...
- 国密SM2算法密钥派生函数KDF的实现
前段时间需要实现国密算法SM2的签名.验签.加密.解密等功能,加解密过程使用到的密钥派生函数(KDF),从网上搜到的代码不符合<GMT 0003.4-2012 SM2椭圆曲线公钥密码算法 > ...
- dll 导出函数 下划线_内核中的代码完整性:深入分析ci.dll
前言 在某些场景中,如果我们希望在允许某个进程进行特定动作前,以一种可靠的方式确认该进程是否可信,那么验证该进程的Authenticode签名是一个不错的方式.用户模式下的DLL wintrust提供 ...
- 基于国密SM3算法(openssl接口)密钥派生函数KDF的实现
前言 最近项目需要使用KDF生成秘钥,对比国密标准(GB_T 32918.4-2016)及网络资料,发现确实没有让我满意的, 自己结合标准和大佬:Heidlyn的帖子<国密SM2算法密钥派生函数 ...
- OpenSSL密码库算法笔记——第6.5.2章 密钥协商函数
现在来看看OpenSSL中哪些函数是用来具体实现密钥协商的. ─────────────────────────────────────── int ECDH_compute_key(void *ou ...
- dumpbin发现没有入口函数_详解VS2019 dumpbin查看DLL的导出函数
之前有人问过ViewDLL这些软件在哪下载.实际上使用VS就可以查看DLL的导出接口. 1.先打开VS内部的Power Shell 2.打开以后应该如下图所示,首先输入dumpbin查看下用法: 3. ...
最新文章
- eclipse : java项目中的web.xml( Deployment Descriptor 部署描述文件 )配置说明
- 使用C语言读写xlsx文件
- 小程序图片src本地服务器路径,微信小程序 图片加载(本地,网路)实例详解...
- 基于STM32F405平台的多摩川协议编码器通讯过程(1)
- C++[POJ1849]铲雪车问题——树形DP求出树的直径
- Windows 10 支持AAC编码的方法
- Work Stealing 的运作原理
- 苹果Mac虚拟机 Parallels Desktop 17 安装 Win11 体验
- 中泰XTP极速交易系统缔造者:为量化而生
- html格式显示图标异常,HTM或HTML图标变成无法显示和识别的解决方法大全
- Windows系统安装搭建ios开发环境
- JS(javascript)中this的几种用法实例详解
- stricmp linux 头文件,Windows下程序向Linux下移植细节
- 看诸葛亮是如何识别对付小人的~
- VC字符串与时间戳相互转换
- O准备如何苟进复赛圈?华为软挑开挂指南(附赛题预测)
- 18个人生潜规则,你必须知道
- Python练习:爬取B站排行榜数据
- 计算机网络(12)物理层:数据报与虚电路
- DPA华为备份一体机异机恢复达梦数据库
热门文章
- Oracle 数据库中 同义词的意思
- 博图pro版和adv版区别_笔记本定制版什么意思?笔记本标配版和定制版的区别与利弊分析...
- 2020最全微服务:SpringBoot+Cloud+Docker
- Jmeter之必备的正则表达式和正则表达式提取器
- 全球第四大航空南方航空与阿里云合作,成首家云上航空公司
- 如何使用ansys将等高线txt文件转为iges文件
- 矩阵分析L6矩阵函数
- EICAD V2.92(含3d、平交口)支持升级
- 软件测评师--第15小时 可靠性测试
- svn重新定位修改uuid,format提示系统找不到指定文件