[发明专利]基于SM9密钥封装机制的在线离线解密方法有效
申请号: | 202111327703.1 | 申请日: | 2021-11-10 |
公开(公告)号: | CN113904768B | 公开(公告)日: | 2023-05-05 |
发明(设计)人: | 宁建廷;刘宽;陈海霞;黄欣沂;赖建昌 | 申请(专利权)人: | 福建师范大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/30 |
代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 陈鼎桂;蔡学俊 |
地址: | 350117 福建省福州市闽*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 sm9 密钥 封装 机制 在线 离线 解密 方法 | ||
1.一种基于SM9密钥封装机制的在线离线解密方法,提供一解密系统,包括密钥分发中心、云服务中心、终端用户和数据拥有者,其特征在于,具体包括以下步骤:
S1:密钥分发中心运行系统初始化函数,生成系统公开参数和主私钥,系统公开参数发送给云服务中心和终端用户,并秘密保存主私钥;
S2:云服务中心利用系统公开参数生成云服务中心主公私钥对,将云服务中心的主公钥公开,并秘密保存云服务中心的主私钥;
S3:终端用户利用系统公开参数生成终端用户主公私钥对,将终端用户的主公钥发送给云服务中心,并秘密保存终端用户的主私钥;
S4:终端用户向密钥分发中心提交密钥申请,密钥分发中心调用用户密钥生成算法为终端用户生成用户解密密钥;
S5:数据拥有者调用外包密钥生成函数生成外包计算密钥并在外包请求时发送给云服务中心;
S6:数据拥有者调用SM9加密函数生成密文并发送给云服务中心;
S7:云服务中心基于外包计算密钥,将密文数据部分解密生成离线密文并保存;
S8:终端用户基于外包解密生成的离线密文和用户解密私钥,利用SM9快速解密离线密文获取明文;
所述步骤S1具体为:选取双线性群群G1和群G2的生成元分别为P1和P2,选取一个随机数α∈[1,N-1]作为主私钥,计算G1中的元素Ppub=α·P1作为主公钥,则主公私钥对为(α,Ppub),密钥分发中心秘密保存α,公开(D,P1,P2,Ppub),密钥分发中心选择并公开用一个字节表示的接收者解密密钥生成函数识别符hid;
所述云服务中心利用系统公开参数生成云服务中心主公私钥对,具体为:产生随机数yc∈[1,N-1],令skc=yc作为云服务中心私钥,计算ppc=Yc=yc·P2作为云服务中心公钥并公开;
所述终端用户生成终端用户主公私钥对,具体为:产生随机数yu∈[1,N-1],令sku=yu作为终端用户私钥,计算ppu=Zu=yu·P2作为终端用户公钥并公开;
所述步骤S4具体为:设封装密钥的比特长度为klen,终端用户的身份标识为ID,计算h=H1(ID||hid,N),密钥分发中心首先在有限域FN上计算s1=h+α,若s1=0则需重新产生加密主私钥,计算和公开加密主公钥,并更新已有用户的加密私钥;否则计算选取随机数β∈[1,N-1],计算K0=β·Yc+s2·Zu,K1=β·P2,并输出用户解密密钥sks=(K0,K1);
所述外包计算密钥为tks=sks=(K0,K1);
所述SM9密文生成的计算过程,具体包括:设封装密钥的比特长度为klen,终端用户的身份标识为ID,计算h=H1(ID||hid,N),QR=hP1+Ppub,产生随机数r∈[1,N-1],计算C=rQR,K=KDF(C||w||ID,klen),并输出(K,C),其中K是被封装的密钥,C是封装密文;
所述云服务中心基于外包计算密钥,将密文数据部分解密生成离线密文并保存,具体为:
所述步骤S8具体为:计算K'=KDF(C||w'||ID,klen)并输出密钥K',终端用户在恢复出封装密钥K'后,根据SM9中的解密算法部分利用K'获得对应的明文,
其中对SM9离线密文的解密计算,具体如下:
计算密钥派生函数K'=KDF(C||w'||ID,klen)=KDF(C||w||ID,klen),对密文进行解封装获取明文。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建师范大学,未经福建师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111327703.1/1.html,转载请声明来源钻瓜专利网。