[发明专利]基于分层密钥和BLS数字签名的区块链组织密钥管理方法有效
申请号: | 201911331342.0 | 申请日: | 2019-12-21 |
公开(公告)号: | CN111010265B | 公开(公告)日: | 2023-04-18 |
发明(设计)人: | 阚海斌;管吉星;刘百祥;陶余会 | 申请(专利权)人: | 上海中和软件有限公司;复旦大学 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/30;H04L9/32 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;陆尤 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 分层 密钥 bls 数字签名 区块 组织 管理 方法 | ||
1.一种基于分层密钥和BLS数字签名的区块链组织密钥管理方法,其特征在于,采用分层密钥的管理方式,将密钥赋予层级归属关系,上层密钥对归属于自己的下层密钥拥有完全的控制权,对应于组织的上下级管理关系;其中,组织首先生成一个根密钥,然后通过根密钥进一步生成子密钥、孙密钥;根密钥对其衍生的所有子孙密钥具有绝对控制权,即只要拥有子孙密钥生成时使用的索引编号,即可完全恢复出子、孙密钥的内容,由此可以进行子、孙密钥的任何操作;
所述分层密钥管理方式,依次包括:构建密钥生成函数,由主私钥推导子私钥,由主私钥推导子公钥,由主公钥推导子公钥,签名生成,签名验证;其中:
(一)构建密钥生成函数
密钥生成函数使用KeyGen表示,用于生成分层确定性密钥的主密钥对,主密钥对使用(kpar,Kpar)表示,密钥生成函数表示为:
KeyGen(λ,S,K)→(kpar,cpar)
kpar称为主私钥,Kpar称为主公钥,cpar称为主链码,λ为安全系数,S为随机熵种子,K为预设的一个字符串;
(二)由主私钥推导子私钥
主私钥推导子私钥函数CKDPriv2Priv通过主私钥kpar和主链码cpar推导出子私钥ki和子链码ci,输入参数i表示推导的子密钥的编号,i∈[0,232);
由主私钥推导子私钥函数表示为:
CKDPriv2Priv((kpar,cpar),i)→(ki,ci);
(三)由主私钥推导子公钥
由主私钥推导子私钥函数CKDPriv2Pub通过主私钥kpar和主链码cpar推导出子公钥Ki和子链码ci,此函数首先使用由主私钥推导子私钥的函数CKDPriv2Priv推导出子私钥ki,再使用ki计算出子公钥Ki,函数的输入参数与CKDPriv2Priv相同,输出不同;
由主私钥推导子私钥函数表示为:
CKDPriv2Pub((kpar,cpar),i)→(ki,ci)→(Ki,ci);
(四)由主公钥推导子公钥
主公钥推导子公钥函数CKDPub2Pub通过主公钥Kpar和主链码cpar推导出子公钥Ki和子链码ci;
主公钥推导子公钥函数为:
CKDPub2Pub((Kpar,cpar),i)→(Ki,ci);
(五)签名生成
签名生成函数使用私钥对k对消息m进行签名,输出一个数字签名σ;
签名生成函数表示为:
Sign(k,m)→σ;
(六)签名验证
签名验证函数使用公钥K对消息m的数字签名σ进行验证,输出验证结果r;
签名验证函数表示为:
Verify(K,m,σ)→r;
签名验证函数进行签名验证的具体步骤为:
(1)将消息m映射为G1上的点P:P=MsgToG1(m);
(2)反序列化签名:γ=ParsePoint(σ);
(3)验证γ是否为G1上的点,若不是,令r=false,返回;
(4)验证若不满足,令r=false,返回;
(5)计算γ和G2的双线性配对:c=e(γ,G2);
(6)计算P和K的双线性配对:c′=e(P,K);
(7)比较c和c′是否相等,若相等,r=true,否则r=false;
(8)返回:r。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海中和软件有限公司;复旦大学,未经上海中和软件有限公司;复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911331342.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:高纯度苏氨酸的生产工艺
- 下一篇:一种市政工程绿化带浇灌系统