[发明专利]基于国密标准算法的多级电子钱包数据处理方法及系统有效
申请号: | 202011451017.0 | 申请日: | 2020-12-10 |
公开(公告)号: | CN112561511B | 公开(公告)日: | 2022-12-20 |
发明(设计)人: | 郭淳;魏普文;张国艳;王小云 | 申请(专利权)人: | 山东区块链研究院 |
主分类号: | G06Q20/10 | 分类号: | G06Q20/10;G06Q20/38;H04L9/08 |
代理公司: | 北京竹辰知识产权代理事务所(普通合伙) 11706 | 代理人: | 陈龙 |
地址: | 250001 山东省济南市经十*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 标准 算法 多级 电子 钱包 数据处理 方法 系统 | ||
1.一种基于国密标准算法的多级电子钱包数据处理方法,其特征在于,包括:
根据管理部门的用户选取的、具有随机性/熵的数据,确定随机种子,并由管理部门的用户任意选取若干互异的、将用于后续运算的常量;
根据管理部门的用户提供的随机种子,生成公司账户密钥;
在公司账户密钥已生成后,根据公司账户密钥与各部门的序号,为各部门生成部门账户密钥;
在各部门的部门账户密钥生成后,根据部门账户密钥与会话序号,为各部门生成部门会话密钥,所述部门会话密钥用于最终的数据交易处理;
所述根据管理部门的用户选取的、具有随机性/熵的数据,确定随机种子,并由管理部门的用户任意选取若干互异的、将用于后续运算的常量,包括:
采用32字节的序列seed来表示所述随机种子;
采用32字节的序列C1、C2来表示两个不同的常量,用于区分两种不同的计算过程;
采用1字节数据D1、D2、D3来表示额外的三个互不相同的常量;
所述根据管理部门的用户提供的随机种子,生成公司账户密钥,包括:
根据公司管理部门的用户提供的随机种子seed及常量C1、C2、D1,生成公司账户密钥(mch,msk,mpk),其内容包括一个32字节链码mch、一个32字节整数表示的数字签名私钥msk、msk对应的数字签名公钥mpk;
具体采用如下方式生成公司账户密钥(mch,msk,mpk):
mch=SM3CF(C1,D1||[0]_31||seed);msks=SM3CF(C2,D1||[0]_31||seed);
msk=Num_p(msks),mpk=msk×G;
其中,SM3CF是国密杂凑函数标准SM3的压缩函数,即SM3描述文档中所定义的压缩函数CF,Num_p(msks)是字节序列msks所表示的无符号整数取模p所得的余数,p为电子钱包系统所用的、基于椭圆曲线群的数字签名群的阶数,G为电子钱包系统所用的、基于椭圆曲线群的数字签名群的本原元,msk×G表示整数msk与本原元G在数字签名群上的乘法;
所述在公司账户密钥已生成后,根据公司账户密钥与各部门的序号,为各部门生成部门账户密钥,包括:
在公司账户密钥(mch,msk,mpk)已生成后,根据公司账户密钥、各部门的序号及常量C1、C2、D2,为各部门生成部门账户密钥(ch1,sk1,pk1)、(ch2,sk2,pk2)、……、(chN,skN,pkN),其中,部门N的部门账户密钥包括一个32字节链码chN、一个32字节整数表示的数字签名私钥skN、skN对应的数字签名公钥pkN;
具体采用如下方式生成部门账户密钥:
第1个部门的部门账户密钥(ch1,sk1,pk1),ch1=SM3CF(C1,D2||[0]_31||[msk]_32),delta1s=SM3CF(C2,D2||[0]_31||[msk]_32),delta1=Num_p(delta1s),sk1=(msk+delta1)modp,pk1=sk1×G;
第N个部门的部门账户密钥(chN,skN,pkN),1≤N≤231,chN=SM3CF(C1,D2||[N-1]_31||[msk]_32),deltaNs=SM3CF(C2,D2||[N-1]_31||[msk]_32),deltaN=Num_p(deltaNs),skN=(msk+deltaN)modp,pkN=skN×G;
所述在各部门的部门账户密钥生成后,根据部门账户密钥与会话序号,为各部门生成部门会话密钥,包括:
在各部门的部门账户密钥已生成后,根据部门账户密钥、会话序号及常量D3,为各部门生成部门会话密钥,用于最终收发账;
部门N的第i次会话密钥(skNi,pkNi)由对应的部门账户密钥(chN,skN,pkN)生成,内容包括一个32字节整数表示的数字签名私钥skNi、及skNi对应的数字签名公钥pkNi ;
部门N的第i次会话密钥(skNi,pkNi),1≤i≤232,具体通过以下过程计算而来:
deltaNis=SM3CF([i-1]_32,D3||[0]_63),deltaNi=Num_p(deltaNis),skNi=(msk+deltaNi)modp,pkNi=skNi×G。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东区块链研究院,未经山东区块链研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011451017.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:半导体器件的制备方法
- 下一篇:废旧电池中回收制备石墨烯基磷酸铁锂的方法