【技术实现步骤摘要】
一种多方分布式的SM9密钥生成、密文解密方法与介质
本专利技术涉及一种SM9密钥生成、密文解密方法与介质,尤其是涉及一种多方分布式的SM9密钥生成、密文解密方法与介质。
技术介绍
随着科学技术的飞速发展,云计算、雾计算等平台为数据的存储和传输提供了强大的支撑平台。新的体系结构给数据的完整性、机密性、可用性带来了新的挑战,数据的安全和隐私已经成为热点话题。公钥密码算法是实现消息机密性、完整性和不可否认性的关键技术,已经广泛应用于电子商务、电子政务等多个领域。这些算法的安全性取决于对密钥的安全存储和使用,一旦密钥泄露则无安全可言。(t,n)门限秘密共享将用户的私钥分割成n份,只有将t份放在一起,私钥才可以通过一定的算法重构出来,而少于这个数量的份额无法重构私钥,t被称作门限。在(t,n)门限秘密共享方案中,私钥会被其中一个参与方恢复,拥有原始私钥的参与方可以在其他参与方不知晓的情况下对密文进行解密。针对这种情况,本专利设计了一种多方协同解密SM9密文的方案,此方案在多方协同解密的情况下,既能保证解密的正确执行,又 ...
【技术保护点】
1.一种多方分布式SM9密钥的生成方法,其特征在于,包括:/n步骤1、生成主私钥,具体是密钥生成中心在系统初始化时,选择随机数ke∈{1,...,q-1}作为主私钥,计算P
【技术特征摘要】
1.一种多方分布式SM9密钥的生成方法,其特征在于,包括:
步骤1、生成主私钥,具体是密钥生成中心在系统初始化时,选择随机数ke∈{1,...,q-1}作为主私钥,计算Ppub-e=[ke]P1作为加密主公钥;密钥生成中心秘密保存ke,公开Ppub-e;密钥生成中心选择并公开用一个字节表示的解密私钥生成函数识别符hid;
步骤2、:生成私钥,具体是给定用户的身份ID,为产生用户的解密私钥,具体包括:
步骤1.1、密钥生成中心计算一个临时变量t1=H1(ID||hid,q)+ke,若t1=0,则重新产生主密钥,计算和公开加密主公钥,并更新已有用户的私钥;否则,计算第二个临时变量其中表示t1模q的逆元,即
步骤1.2、密钥生成中心随机选择r2,r3,...,rn∈{1,...,q-1},计算r1=(r2+r3+…+rn)-1t2modq;
步骤1.3、密钥生成中心设置第1部分私钥第2部分私钥第n-1部分私钥第n部分私钥
步骤1.4、密钥生成中心将部分私钥分别发给对应的每个通信方Ui。
2.一种计算机存储介质,其特征在于,存储有计算机程序,运行计算机程序包括以下步骤:
步骤1、生成主私钥,具体是密钥生成中心在系统初始化时,选择随机数ke∈{1,...,q-1}作为主私钥,计算Ppub-e=[ke]P1作为加密主公钥;密钥生成中心秘密保存ke,公开Ppub-e;密钥生成中心选择并公开用一个字节表示的解密私钥生成函数识别符hid;
步骤2、:生成私钥,具体是给定用户的身份ID,为产生用户的解密私钥,具体包括:
步骤1.1、密钥生成中心计算一个临时变量t1=H1(ID||hid,q)+ke,若t1=0,则重新产生主密钥,计算和公开加密主公钥,并更新已有用户的私钥;否则,计算第二个临时变量其中表示t1模q的逆元,即
步骤1.2、密钥生成中心随机选择r2,r3,...,rn∈{1,...,q-1},计算r1=(r2+r3+…+rn)-1t2modq;
步骤1.3、密钥生成中心设置第1部分私钥第2部分私钥第n-1部分私钥第n部分私钥
步骤1.4、密钥生成中心将部分私钥分别发给对应的每个通信方Ui。
3.一种多方分布式SM9密文的解密方法,其特征在于,包括:定义密文C=C1||C3||C2的比特长度为mlen,分组密码算法中密钥K1的比特长度为K1_len,函数MAC(K2,Z)中密钥K2的比特长度为K2_len;对密文C解密时,n个通信方进行如下步骤的交互:
步骤1、第n个通信方Un从密文C中提取出比特串C1,将C1的数据类型转换为椭圆曲线上的点,验证C1∈G1是否成立,如果不成立则报错并退出;否则,Un计算第一个临时变量En=[rn]C1,并将En发送给U1;
步骤2、Un-1计算第二个临时变量En-1=[rn-1]C1,并将En-1发送给U1;...;U2计算第n-1个临时变量E2=[r2]C1,并将E2发送给U1;
步骤3、U1收到来自U2到Un发送的n-1个临时变量后,计算第n个临时变量并将wn的数据类型转换为比特串;U1使用SM9解密算法进行解密计算,具体包括:
步骤3.1、若加密明文的方法是基于密钥派生函数的序列密码算法,则
步骤3.11、计算klen=mlen+K2_len,然后计算K′=KDF(C1||wn||IDB,klen);设...
【专利技术属性】
技术研发人员:何德彪,张语荻,冯琦,王婧,陈泌文,
申请(专利权)人:武汉大学,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。