CN110784300B - 一种基于乘法同态加密的密钥合成方法 - Google Patents

一种基于乘法同态加密的密钥合成方法 Download PDF

Info

Publication number
CN110784300B
CN110784300B CN201911087532.2A CN201911087532A CN110784300B CN 110784300 B CN110784300 B CN 110784300B CN 201911087532 A CN201911087532 A CN 201911087532A CN 110784300 B CN110784300 B CN 110784300B
Authority
CN
China
Prior art keywords
key
user
ciphertext
homomorphic encryption
homomorphic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911087532.2A
Other languages
English (en)
Other versions
CN110784300A (zh
Inventor
王震
白健
李亚荣
安红章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Electronic Technology Cyber Security Co Ltd
Original Assignee
China Electronic Technology Cyber Security Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Electronic Technology Cyber Security Co Ltd filed Critical China Electronic Technology Cyber Security Co Ltd
Priority to CN201911087532.2A priority Critical patent/CN110784300B/zh
Publication of CN110784300A publication Critical patent/CN110784300A/zh
Application granted granted Critical
Publication of CN110784300B publication Critical patent/CN110784300B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Abstract

本发明公开了一种基于乘法同态加密的密钥合成方法,包括如下步骤:步骤一、用户产生乘法同态加密密钥;步骤二、用户向区块链申请同态密钥;步骤三、区块链分布式密钥生成节点生成各自的密钥并进行同态加密得到各自的密文;步骤四、主节点将各节点加密的密文合成并记链;步骤五、用户查链得到密文;步骤六、用户对密文解密得到同态密钥。与现有技术相比,本发明的积极效果是:本发明针对传统中心化密钥管理系统容错性差、信任成本较高和密钥生成过程中隐私保护手段不足的问题,采用基于乘法同态加密的密钥合成方法,采用区块链节点生成同态加密密钥,保护用户密钥的隐私安全。

Description

一种基于乘法同态加密的密钥合成方法
技术领域
本发明涉及一种基于乘法同态加密的密钥合成方法。
背景技术
传统中心化系统中往往存在一个可信密钥管理中心为用户维护一系列密钥,使用户能够对数据进行签名、加密以及认证等操作。中心化的密钥管理系统具有技术成熟、便于管理等优点,但同时也存在一些严重的缺陷。
(1)中心化密钥管理系统要求用户无条件信任中心,但实际上很难保证第三方中心完全可信;
(2)中心化的密钥管理系统可以人为修正系统的差错,但也意味着如果中心密钥管理被攻击,用户的敏感数据也会被恶意的篡改;
(3)相比分布式系统,中心化系统的容错性和抗攻击能力都较差,且一旦出现问题,整个系统都无法正常工作;
(4)中心化的密钥管理系统可能会由于管理人员的不当行为故意或无意地泄露用户的敏感信息。
发明内容
为了克服现有技术的上述缺点,本发明提出了一种基于乘法同态加密的密钥合成方法,基于区块链技术构建分布式密钥管理中心,采用乘法同态加密的密钥合成的方法为用户分配密钥,可以有效提高系统的容错率,保证用户分发密钥过程的安全性和隐私性。
本发明解决其技术问题所采用的技术方案是:一种基于乘法同态加密的密钥合成方法,包括如下步骤:
步骤一、用户产生乘法同态加密密钥;
步骤二、用户向区块链申请同态密钥;
步骤三、区块链分布式密钥生成节点生成各自的密钥并进行同态加密得到各自的密文;
步骤四、主节点将各节点加密的密文合成并记链;
步骤五、用户查链得到密文;
步骤六、用户对密文解密得到同态密钥。
与现有技术相比,本发明的积极效果是:
本发明针对传统中心化密钥管理系统容错性差、信任成本较高和密钥生成过程中隐私保护手段不足的问题,采用基于乘法同态加密的密钥合成方法,采用区块链节点生成同态加密密钥,保护用户密钥的隐私安全。本发明主要解决的技术问题包括:
(1)提高密钥管理系统的容错性和抗攻击能力;
(2)减少对中心化密钥管理系统的信任依赖;
(3)保护用户密钥的隐私性。
本发明具有良好的实用性和广泛的应用场景,基于区块链技术实现分布式的密钥管理中心,通过各分布式节点为用户产生密钥并记链,用户可通过区块链查验和获取密钥,链上信息均为密文,既保证了隐私,又可以防止被恶意篡改,可广泛应用于云计算、云存储等不可信的网络系统中。具体表现如下:
1、高容错性和抗攻击性
使用区块链密钥生成节点代替中心化的密钥生成系统,提高了系统的容错性和抗攻击性,单一节点的故障不会对系统运行造成影响。
2、低信任成本
在中心化的系统中,需要对密钥中心完全信任,而在区块链系统中,无需可信的密钥生成节点,减少了系统管理员的恶意行为带来的风险。
3、隐私性
单个密钥生成节点均不知道用户的私钥,因此避免了密钥管理中心泄露用户密钥的风险。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为本发明方法的流程图。
具体实施方式
本发明基于乘法同态加密方案和区块链技术设计出一种适用于云服务、云存储等不可信网络中的密钥合成方法,旨在解决中心化密钥管理系统容错性差和用户密钥的隐私保护问题。
本发明使用的乘法同态加密算法记为MHE=(KeyGen,ENC,DEC),其中KeyGen表示密钥生成算法,ENC表示加密算法,DEC表示解密算法,满足要求的算法包括RSA加密算法和ElGamal加密算法。
1.RSA加密算法
RSA加密算法包括KeyGen,ENC,DEC,流程如下:
KeyGen:选择两个长度相同的大素数p,q,计算n=pq,φ(n)=(p-1)(q-1),其中φ(n)表示欧拉函数的结果。随机选择整数e,计算d,使其满足ed≡1(modφ(n))。设置(sk,pk)=(e,d),其中sk为私钥,pk为公钥,n为公开参数。
ENC:输入消息m,公钥pk,计算密文C=ENCpk(m)=md(modn)。
DEC:输入密文C,私钥sk,计算明文m=DECsk(C)=Ce=med=mφ(n)-1=m(modn)。
由于
Figure BDA0002265883730000041
因此,RSA算法满足乘法同态性。
2.ElGamal加密算法
ElGamal加密算法包括KeyGen,ENC,DEC,流程如下:
KeyGen:选择阶数为q的循环群G,G的生成元为g。随机选择整数x∈{1,…,q-1},计算h=gx。设置(sk,pk)=(x,h),其中sk为私钥,pk为公钥,(G,q,g)为公开参数。
ENC:输入消息m,公钥pk,选择随机数y∈{1,…,q-1},计算C1=pky·m=gxy·m,C2=gy,密文C=ENCpk(m,y)=(C1,C2)。
DEC:输入密文C,私钥sk,计算明文
Figure BDA0002265883730000042
Figure BDA0002265883730000043
由于
Figure BDA0002265883730000044
Figure BDA0002265883730000045
其中有y=y1+y2。因此,ElGamal算法满足乘法同态性。
一、方案概述
方案包括两类参与方,用户和区块链分布式密钥生成节点。用户产生一对原始密钥,包括公钥和私钥,用于同态加解密。用户可向区块链申请分配密钥,区块链分布式密钥生成节点生成各自的密钥并利用用户的原始公钥进行加密,主节点合成最终的密文并记链,记链成功后用户通过查链获取密文。最终,用户利用原始私钥进行解密,得到合成的密钥。
二、方案符号
下表为方案中变量与对应的取值范围和变量在方案中的作用。
变量符号 意义
U 用户名
(sk,pk) 用户原始的私钥和公钥
n 区块链密钥生成节点的总数
K<sub>i</sub> 区块链节点生成的子密钥
C<sub>i</sub> K<sub>i</sub>加密生成的密文
C 合成的密文
K 用户解密出的密钥
三、具体方案
一种基于乘法同态加密的密钥合成方法包括以下过程(如图1所示)。
1.生成原始密钥:
用户(记为U)生成一对乘法同态加密密钥(sk,pk),其中sk为私钥,pk为公钥,并将公钥pk公布。
2.申请同态密钥:
用户向区块链申请同态密钥时,客户端将用户名U和公钥pk发送给分布式密钥管理节点。
3.各节点计算密钥:
区块链分布式密钥生成节点各自计算用户U的一部分密钥,记为Ki,然后利用pk对Ki进行同态加密,得到密文Ci=ENCpk(Ki)。
4.合成密文并记链:
主节点得到各节点的密文后,将密文相乘,合成最终的密文,即
Figure BDA0002265883730000061
其中∏表示密文的乘法运算,然后将密文和用户的公钥pk记链。
5.获取密文:
用户U通过公钥pk查链,得到密文C。
6.解密
用户U得到密文C后,利用私钥sk进行解密,得到最终的密钥
Figure BDA0002265883730000062
Figure BDA0002265883730000063
方案正确性说明:
(1)若使用RSA加密算法,则用户密钥对为(sk,pk)=(e,d),用户申请的同态密钥为
Figure BDA0002265883730000064
加密的密文为
Figure BDA0002265883730000065
用户最终解密出的明文为
Figure BDA0002265883730000066
因此方案满足正确性。
(2)若使用ElGamal加密算法,则用户密钥对为(sk,pk)=(x,h)=(x,gx),用户申请的同态密钥为
Figure BDA0002265883730000067
加密的密文为
Figure BDA0002265883730000068
Figure BDA0002265883730000069
Figure BDA0002265883730000071
因此方案满足正确性。

Claims (7)

1.一种基于乘法同态加密的密钥合成方法,其特征在于:包括如下步骤:
步骤一、用户产生乘法同态加密密钥,所述乘法同态加密密钥包括私钥sk和公钥pk;
步骤二、用户向区块链申请同态密钥:
用户向区块链申请同态密钥时,客户端将用户名U和公钥pk发送给分布式密钥生成节点;
步骤三、区块链分布式密钥生成节点生成所述用户的一部分密钥,记为Ki,然后利用公钥pk对Ki进行同态加密,得到密文Ci=ENCpk(Ki);
步骤四、主节点将各节点加密的密文合成并记链;
步骤五、用户查链得到密文;
步骤六、用户对密文解密得到同态密钥。
2.根据权利要求1所述的一种基于乘法同态加密的密钥合成方法,其特征在于:步骤四所述主节点将各节点加密的密文合成并记链的方法为:
(1)主节点将得到的各节点的密文相乘,合成最终的密文:
Figure FDA0003600158690000011
(2)将密文C和用户的公钥pk记链。
3.根据权利要求2所述的一种基于乘法同态加密的密钥合成方法,其特征在于:步骤五所述用户查链得到密文的方法为:用户通过公钥pk查链得到密文C。
4.根据权利要求3所述的一种基于乘法同态加密的密钥合成方法,其特征在于:步骤六所述用户对密文解密得到同态密钥的方法为:用户利用私钥sk进行解密,得到最终的密钥:
Figure FDA0003600158690000012
5.根据权利要求1所述的一种基于乘法同态加密的密钥合成方法,其特征在于:所述乘法同态加密算法包括RSA加密算法和ElGamal加密算法。
6.根据权利要求5所述的一种基于乘法同态加密的密钥合成方法,其特征在于:所述RSA加密算法包括如下内容:
一、密钥生成算法:
选择两个长度相同的大素数p,q,计算n=pq,φ(n)=(p-1)(q-1);随机选择整数e,计算d,满足ed≡1(mod φ(n));设置(sk,pk)=(e,d),n为公开参数;
二、加密算法:
输入消息m和公钥pk,计算密文C=ENCpk(m)=md(mod n);
三、解密算法:
输入密文C和私钥sk,计算明文m=DECsk(C)=Ce=med=mφ(n)-1=m(mod n)。
7.根据权利要求5所述的一种基于乘法同态加密的密钥合成方法,其特征在于:所述ElGamal加密算法包括如下内容:
一、密钥生成算法:
选择阶数为q的循环群G,G的生成元为g,随机选择整数x∈{1,…,q-1},计算h=gx;设置(sk,pk)=(x,h),(G,q,g)为公开参数;
二、加密算法:
输入消息m和公钥pk,选择随机数y∈{1,…,q-1},计算C1=pky·m=gxy·m,C2=gy,密文C=ENCpk(m,y)=(C1,C2);
三、解密算法:
输入密文C和私钥sk,计算明文
Figure FDA0003600158690000021
Figure FDA0003600158690000031
CN201911087532.2A 2019-11-08 2019-11-08 一种基于乘法同态加密的密钥合成方法 Active CN110784300B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911087532.2A CN110784300B (zh) 2019-11-08 2019-11-08 一种基于乘法同态加密的密钥合成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911087532.2A CN110784300B (zh) 2019-11-08 2019-11-08 一种基于乘法同态加密的密钥合成方法

Publications (2)

Publication Number Publication Date
CN110784300A CN110784300A (zh) 2020-02-11
CN110784300B true CN110784300B (zh) 2022-09-16

Family

ID=69389912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911087532.2A Active CN110784300B (zh) 2019-11-08 2019-11-08 一种基于乘法同态加密的密钥合成方法

Country Status (1)

Country Link
CN (1) CN110784300B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113055172B (zh) * 2021-03-31 2022-11-04 北京金山云网络技术有限公司 一种密钥协商方法、装置、电子设备及存储介质
CN114021172B (zh) * 2021-11-10 2022-10-21 苏州同济区块链研究院有限公司 一种基于联盟链的多方联合安全计算方法和装置
CN115549891B (zh) * 2022-11-24 2023-03-10 北京信安世纪科技股份有限公司 同态加密方法、同态解密方法、同态计算方法及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108959911A (zh) * 2018-06-14 2018-12-07 联动优势科技有限公司 一种密钥链生成、验证方法及其装置
CN110046521A (zh) * 2019-04-24 2019-07-23 成都派沃特科技股份有限公司 去中心化隐私保护方法
WO2019194403A1 (ko) * 2018-04-06 2019-10-10 주식회사 크립토랩 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6083234B2 (ja) * 2012-12-27 2017-02-22 富士通株式会社 暗号処理装置
US10333696B2 (en) * 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
CN105490806B (zh) * 2015-11-28 2018-06-19 中国电子科技集团公司第三十研究所 一种同态密钥生成、共享方法及装置
CN106549749B (zh) * 2016-12-06 2019-12-24 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
CN107294698B (zh) * 2017-07-25 2019-11-26 西安电子科技大学 单密文同态计算的全同态加密方法
CN109462472A (zh) * 2017-09-06 2019-03-12 阿里巴巴集团控股有限公司 数据加密和解密的方法、装置和系统
EP3511851A1 (en) * 2018-01-12 2019-07-17 Siemens Healthcare GmbH Storing and accessing medical datasets on the blockchain
CN110034917A (zh) * 2019-04-11 2019-07-19 鸿秦(北京)科技有限公司 一种基于同态加密算法的联盟链数据处理方法及装置
CN110348231B (zh) * 2019-06-18 2020-08-14 阿里巴巴集团控股有限公司 实现隐私保护的数据同态加解密方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019194403A1 (ko) * 2018-04-06 2019-10-10 주식회사 크립토랩 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들
CN108959911A (zh) * 2018-06-14 2018-12-07 联动优势科技有限公司 一种密钥链生成、验证方法及其装置
CN110046521A (zh) * 2019-04-24 2019-07-23 成都派沃特科技股份有限公司 去中心化隐私保护方法

Also Published As

Publication number Publication date
CN110784300A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
US10211981B2 (en) System and method for generating a server-assisted strong password from a weak secret
US11233659B2 (en) Method of RSA signature or decryption protected using a homomorphic encryption
CN111342976B (zh) 一种可验证的理想格上门限代理重加密方法及系统
Khader et al. Preventing man-in-the-middle attack in Diffie-Hellman key exchange protocol
CN107733648A (zh) 一种基于身份的rsa数字签名生成方法及系统
WO2017147503A1 (en) Techniques for confidential delivery of random data over a network
CN110784300B (zh) 一种基于乘法同态加密的密钥合成方法
CN104168114A (zh) 一种分布式的基于(k,n)门限证书加密方法及系统
GB2401014A (en) Identifier based encryption method using an encrypted condition and a trusted party
CN112737764B (zh) 一种轻量级多用户多数据的全同态数据加密封装方法
EP3387576A1 (en) Apparatus and method for certificate enrollment
CN107086912B (zh) 一种异构存储系统中的密文转换方法、解密方法及系统
Chatterjee et al. Cryptography in cloud computing: a basic approach to ensure security in cloud
CN110851845A (zh) 一种轻量级单用户多数据的全同态数据封装方法
CN106850584B (zh) 一种面向客户/服务器网络的匿名认证方法
Xin et al. Identity-based quantum designated verifier signature
CN114095171A (zh) 一种基于身份的可穿刺代理重加密方法
CN106534077B (zh) 一种基于对称密码的可认证的代理重加密系统及方法
CN110798313B (zh) 基于秘密动态共享的包含秘密的数的协同生成方法及系统
GB2401013A (en) Cryptographic Method and Apparatus
JP2008288837A (ja) 鍵管理方法、鍵生成方法、暗号処理方法、復号処理方法、アクセス管理方法、通信ネットワークシステム
CN114095161A (zh) 一种支持等式测试的身份基可穿刺加密方法
CN114362912A (zh) 基于分布式密钥中心的标识密码生成方法、电子设备及介质
JP2004246350A (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
JP2010113181A (ja) 鍵管理方法、鍵生成方法、暗号処理方法、復号処理方法、アクセス管理方法、通信ネットワークシステム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant