CN114422142A - 一种基于椭圆曲线的ElGamal多重解密方法及系统 - Google Patents
一种基于椭圆曲线的ElGamal多重解密方法及系统 Download PDFInfo
- Publication number
- CN114422142A CN114422142A CN202210024567.7A CN202210024567A CN114422142A CN 114422142 A CN114422142 A CN 114422142A CN 202210024567 A CN202210024567 A CN 202210024567A CN 114422142 A CN114422142 A CN 114422142A
- Authority
- CN
- China
- Prior art keywords
- decryption
- elgamal
- shares
- elliptic curve
- public key
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000002776 aggregation Effects 0.000 claims description 4
- 238000004220 aggregation Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 3
- 230000007547 defect Effects 0.000 abstract description 3
- 238000007792 addition Methods 0.000 description 4
- 238000006116 polymerization reaction Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3013—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于椭圆曲线的ElGamal多重解密方法及系统,属于门限密码学技术领域。本发明的基于椭圆曲线的ElGamal多重解密方法基于椭圆曲线,多个持有解密私钥份额的安全多方计算参与方,一轮并发通信将密文解密。该发明的基于椭圆曲线的ElGamal多重解密方法可以为区块链带来多节点协作解密能力,为区块链带来隐私计算能力,弥补区块链在隐私保护方面的缺陷,具有很好的推广应用价值。
Description
技术领域
本发明涉及门限密码学技术领域,具体提供一种基于椭圆曲线的ElGamal多重解密方法及系统。
背景技术
ElGamal加密算法是T.ElGamal基于离散对数困难问题设计的一种具备线性同态特性的加密算法。ElGamal密码系统的定义如下,给定一个安全参数k。
密钥生成。在所有由安全参数k确定的群中随机挑选一个群<g>。设n表示生成元g的阶。接下来,选择x∈RZ* n。私钥是x,公钥是h=gx。
加密。给定一个明文M∈<g>,取u∈RZ* n,对于公钥h的密文是对(gu,huM)。
解密。给定密文(A,B),即A=gu,B=huM,使用私钥x恢复为明文M=BA-x。
构造椭圆曲线E(a,b)(GF(q)),选取一个基点G,阶是n。椭圆曲线E(a,b)定义为满足方程y2=x3+ax+b的点(x,y)∈GF(q)×GF(q)和无穷远点O的集合。
ECC-ElGamal加密算法:
a)消息明文嵌入到椭圆曲线
为了利用ELGamal密码体制加密信息,需要将明文m编码到椭圆曲线,成为曲线上的一个坐标点M。
b)密钥生成
公私钥生成方法是:随机选择一个整数d<n,计算P=dG,P为公钥,d为私钥。加密过程中提到的公钥、私钥都是消息接收方的公钥、私钥。
c)加密
加密方选择随机数k作为临时密钥,K=kG为临时公钥。计算密文C=M+kP。有序对(K,C)为密文,密文发送给接收方。
d)解密
接收方的私钥为d,公钥为P,收到的密文为有序对(K,C)。通过计算C-dK得到明文。也就是通过计算M+kP-dK得到明文。
Ecc-ElGamal加密算法的同态特性可以推广到n个密文相加,在实际场景中加法同态比乘法同态用途更多,可以有效解决隐私计算中的一些常见问题。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种可以为区块链带来多节点协作解密能力,为区块链带来隐私计算能力,弥补区块链在隐私保护方面的缺陷的基于椭圆曲线的ElGamal多重解密方法。
本发明进一步的技术任务是提供一种基于椭圆曲线的ElGamal多重解密系统。
为实现上述目的,本发明提供了如下技术方案:
一种基于椭圆曲线的ElGamal多重解密方法,基于椭圆曲线,多个持有解密私钥份额的安全多方计算参与方,一轮并发通信将密文解密,具体包括以下步骤:
S1、密码系统安全设置,确定椭圆曲线参数;
S2、分布式密钥生成,确定各方的私钥份额、公钥份额和聚合公钥;
S3、用标准基于椭圆曲线的ElGamal算法加密得到密文;
S4、分布式解密;
S5、完成解密。
作为优选,步骤S2中,每个参与方选择一个随机数作为私钥份额,计算对应的公钥份额,所有参与方接收到所有公钥份额后计算聚合公钥。
作为优选,步骤S4中,分布式解密的发布者将密文发送给所有参与方,每个参与者利用私钥份额解密并广播明文份额和零知识证明。
作为优选,步骤S5中,各参与方收集明文份额并验证有效后聚合得到明文。
一种基于椭圆曲线的ElGamal多重解密系统,包括安全设置模块、分布式密钥生成模块、密文得到模块、分布式解密模块和解密完成模块;
安全设置模块用于密码系统安全设置,确定椭圆曲线参数;
分布式密钥生成模块用于确定各方的私钥份额、公钥份额和聚合公钥;
密文得到模块用于用标准基于椭圆曲线的ElGamal算法加密得到密文;
分布式解密模块用于分布式解密;
解密完成模块用于完成解密。
作为优选,分布式密钥生成模块中,每个参与方选择一个随机数作为私钥份额,计算对应的公钥份额,所有参与方接收到所有公钥份额后计算聚合公钥。
作为优选,分布式解密模块中,发布者将密文发送给所有参与方,每个参与者利用私钥份额解密并广播明文份额和零知识证明。
作为优选,解密完成模块中,各参与方收集明文份额并验证有效后聚合得到明文。
与现有技术相比,本发明的基于椭圆曲线的ElGamal多重解密方法具有以下突出的有益效果:所述基于椭圆曲线的ElGamal多重解密方法实现简单、速度快,很容易与区块链共识算法进行集成,具有加法同态特性,可以解密多个密文之和,比一般的非椭圆曲线ElGamal算法(乘法同态)具有更多应用场景。此外,本发明与共识算法集成后,可以为区块链带来多节点协作解密能力,这将为区块链带来隐私计算能力,弥补了区块链在隐私保护方面的缺陷,具有良好的推广应用价值。
附图说明
图1是本发明所述基于椭圆曲线的ElGamal多重解密方法的流程图。
具体实施方式
下面将结合附图和实施例,对本发明的基于椭圆曲线的ElGamal多重解密方法及系统作进一步详细说明。
实施例
如图1所示,本发明的基于椭圆曲线的ElGamal多重解密方法基于椭圆曲线,多个持有解密私钥份额的安全多方计算参与方,一轮并发通信将密文解密。具体包括以下步骤:
S1、密码系统安全设置,确定椭圆曲线参数。
设椭圆曲线群E(Fq)的生成元G,p是G的阶。选择哈希函数Hagg,Hnon:{0,1}*→Zp。(下文中如果群元素(坐标点)作为Hagg,Hnon的输入,则表示仅将坐标点的x值作为输入)。
S2、分布式密钥生成,确定各方的私钥份额、公钥份额和聚合公钥。每个参与方选择一个随机数作为私钥份额,计算对应的公钥份额,所有参与方接收到所有公钥份额后计算聚合公钥。
每个参数方Pi(1≤i≤n)选择一个随机数xi作为自己的私钥份额,计算Xi=xiG作为公钥份额,广播Xi。所有参与方都接收到别人的公钥份额后计算聚合公钥:
S3、用标准基于椭圆曲线的ElGamal算法加密得到密文。
其中x是私钥,但多重加密场景下,x被n个私钥份额代替。
S4、分布式解密。分布式解密的发布者将密文发送给所有参与方,每个参与者利用私钥份额解密并广播明文份额和零知识证明。
分布式解密的分发者将密文之和(A1+A2+...At,B1+B2+...+Bt)发送给所有n个参与方Pi,1≤i≤n。每个参与者Pi利用自己的私钥份额xi计算明文份额mi=aixi(A1+A2+...At),其中ai是第(2)步中的公钥聚合系数,1≤i≤n。
为了防止有攻击者或恶意参与方发送错误的明文份额,还需要计算两个零知识证明。Pi随机选取w∈Z* n,计算ni=xiA,Mi=wG,Ni=wA计算c=Hnon(G,Xi,A,B,ni,Mi,Ni),计算ri=w+xic。其中A=A1+A2+...At,B=B1+B2+...+Bt。
Pi发送mi、ri、ni、Mi、Ni给其他参与方,其中mi为明文份额,ri、ni、Mi、Ni为零知识证明。
S5、完成解密。各参与方收集明文份额并验证有效后聚合得到明文。
当任意参与方Pi收到所有其他参与方的mi、ri、ni、Mi、Ni后,需要逐个计算c'=Hnon(G,Xi,A,B,ni,Mi,Ni),再验证两个等式riG=Mi+c'Xi和riA=Ni+c'ni是否成立,如果两个等式成立说明该明文份额mi有效,如果不成立则解密终止,其中1≤i≤n。如果验证所有明文份额mi都有效,则计算m为明文,完成解密。其中mi=aixi(A1+A2+...At),B=B1+B2+...+Bt。
算法的正确性
代入mi=aixi(A1+A2+...At),B=B1+B2+...+Bt,得到
而公钥份额Xi=xiG代入上式得到
本发明的基于椭圆曲线的ElGamal多重解密系统,包括安全设置模块、分布式密钥生成模块、密文得到模块、分布式解密模块和解密完成模块。
安全设置模块用于密码系统安全设置,确定椭圆曲线参数。
分布式密钥生成模块用于确定各方的私钥份额、公钥份额和聚合公钥。分布式密钥生成模块中,每个参与方选择一个随机数作为私钥份额,计算对应的公钥份额,所有参与方接收到所有公钥份额后计算聚合公钥。
密文得到模块用于用标准基于椭圆曲线的ElGamal算法加密得到密文。
分布式解密模块用于分布式解密。分布式解密模块中,发布者将密文发送给所有参与方,每个参与者利用私钥份额解密并广播明文份额和零知识证明。
解密完成模块用于完成解密。解密完成模块中,各参与方收集明文份额并验证有效后聚合得到明文。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (8)
1.一种基于椭圆曲线的ElGamal多重解密方法,其特征在于:该方法基于椭圆曲线,多个持有解密私钥份额的安全多方计算参与方,一轮并发通信将密文解密,具体包括以下步骤:
S1、密码系统安全设置,确定椭圆曲线参数;
S2、分布式密钥生成,确定各方的私钥份额、公钥份额和聚合公钥;
S3、用标准基于椭圆曲线的ElGamal算法加密得到密文;
S4、分布式解密;
S5、完成解密。
2.根据权利要求1所述的基于椭圆曲线的ElGamal多重解密方法,其特征在于:步骤S2中,每个参与方选择一个随机数作为私钥份额,计算对应的公钥份额,所有参与方接收到所有公钥份额后计算聚合公钥。
3.根据权利要求2所述的基于椭圆曲线的ElGamal多重解密方法,其特征在于:步骤S4中,分布式解密的发布者将密文发送给所有参与方,每个参与者利用私钥份额解密并广播明文份额和零知识证明。
4.根据权利要求3所述的基于椭圆曲线的ElGamal多重解密方法,其特征在于:步骤S5中,各参与方收集明文份额并验证有效后聚合得到明文。
5.一种基于椭圆曲线的ElGamal多重解密系统,其特征在于:包括安全设置模块、分布式密钥生成模块、密文得到模块、分布式解密模块和解密完成模块;
安全设置模块用于密码系统安全设置,确定椭圆曲线参数;
分布式密钥生成模块用于确定各方的私钥份额、公钥份额和聚合公钥;
密文得到模块用于用标准基于椭圆曲线的ElGamal算法加密得到密文;
分布式解密模块用于分布式解密;
解密完成模块用于完成解密。
6.根据权利要求5所述的基于椭圆曲线的ElGamal多重解密系统,其特征在于:分布式密钥生成模块中,每个参与方选择一个随机数作为私钥份额,计算对应的公钥份额,所有参与方接收到所有公钥份额后计算聚合公钥。
7.根据权利要求6所述的基于椭圆曲线的ElGamal多重解密系统,其特征在于:分布式解密模块中,发布者将密文发送给所有参与方,每个参与者利用私钥份额解密并广播明文份额和零知识证明。
8.根据权利要求7所述的基于椭圆曲线的ElGamal多重解密系统,其特征在于:解密完成模块中,各参与方收集明文份额并验证有效后聚合得到明文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210024567.7A CN114422142A (zh) | 2022-01-11 | 2022-01-11 | 一种基于椭圆曲线的ElGamal多重解密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210024567.7A CN114422142A (zh) | 2022-01-11 | 2022-01-11 | 一种基于椭圆曲线的ElGamal多重解密方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114422142A true CN114422142A (zh) | 2022-04-29 |
Family
ID=81271300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210024567.7A Pending CN114422142A (zh) | 2022-01-11 | 2022-01-11 | 一种基于椭圆曲线的ElGamal多重解密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114422142A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581175A (zh) * | 2013-10-17 | 2014-02-12 | 江苏科技大学 | 一种安全的数据聚合方法 |
CN109995516A (zh) * | 2017-12-30 | 2019-07-09 | 广州鸷昕由信息科技有限公司 | 一种具有隐私保护功能的数据安全聚合方法 |
CN111372243A (zh) * | 2020-03-18 | 2020-07-03 | 南京邮电大学 | 基于雾联盟链的安全分布式聚合与访问系统及方法 |
CN111737748A (zh) * | 2020-06-24 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 一种应用于区块链的数据解密方法及装置 |
CN112989368A (zh) * | 2021-02-07 | 2021-06-18 | 支付宝(杭州)信息技术有限公司 | 多方联合进行隐私数据处理的方法及装置 |
CN113065934A (zh) * | 2021-02-21 | 2021-07-02 | 西安电子科技大学 | 一种隐私可验证的竞拍方法、系统、计算机设备及应用 |
CN113193948A (zh) * | 2021-03-24 | 2021-07-30 | 西安电子科技大学 | 多参与方联合隐私数据统计分析方法、信息数据处理终端 |
-
2022
- 2022-01-11 CN CN202210024567.7A patent/CN114422142A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581175A (zh) * | 2013-10-17 | 2014-02-12 | 江苏科技大学 | 一种安全的数据聚合方法 |
CN109995516A (zh) * | 2017-12-30 | 2019-07-09 | 广州鸷昕由信息科技有限公司 | 一种具有隐私保护功能的数据安全聚合方法 |
CN111372243A (zh) * | 2020-03-18 | 2020-07-03 | 南京邮电大学 | 基于雾联盟链的安全分布式聚合与访问系统及方法 |
CN111737748A (zh) * | 2020-06-24 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 一种应用于区块链的数据解密方法及装置 |
CN112989368A (zh) * | 2021-02-07 | 2021-06-18 | 支付宝(杭州)信息技术有限公司 | 多方联合进行隐私数据处理的方法及装置 |
CN113065934A (zh) * | 2021-02-21 | 2021-07-02 | 西安电子科技大学 | 一种隐私可验证的竞拍方法、系统、计算机设备及应用 |
CN113193948A (zh) * | 2021-03-24 | 2021-07-30 | 西安电子科技大学 | 多参与方联合隐私数据统计分析方法、信息数据处理终端 |
Non-Patent Citations (1)
Title |
---|
李宁波: "多密钥全同态加密研究", 《密码学报》, pages 728 - 729 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107707358B (zh) | 一种ec-kcdsa数字签名生成方法及系统 | |
CN108667625B (zh) | 协同sm2的数字签名方法 | |
CN107947913B (zh) | 一种基于身份的匿名认证方法与系统 | |
CN107634836B (zh) | 一种sm2数字签名生成方法及系统 | |
WO2021042685A1 (zh) | 一种区块链的交易方法、装置及系统 | |
CN107733648B (zh) | 一种基于身份的rsa数字签名生成方法及系统 | |
CN107659395B (zh) | 一种多服务器环境下基于身份的分布式认证方法及系统 | |
CN114157427B (zh) | 基于sm2数字签名的门限签名方法 | |
CN109547212B (zh) | 一种基于sm2签名算法的门限签名方法 | |
CN110120939B (zh) | 一种基于异构系统的可否认认证的加密方法和系统 | |
CN110113150B (zh) | 基于无证书环境的可否认认证的加密方法和系统 | |
CN110011803B (zh) | 一种轻量级sm2两方协同生成数字签名的方法 | |
CN112564907B (zh) | 密钥生成方法及装置、加密方法及装置、解密方法及装置 | |
CN110995412B (zh) | 基于乘法群的无证书环签密方法 | |
CN113132104A (zh) | 一种主动安全的ecdsa数字签名两方生成方法 | |
CN114117468A (zh) | 一种基于ElGamal的多重解密方法及系统 | |
CN111030821A (zh) | 一种基于双线性映射技术的联盟链加密方法 | |
CN108055134B (zh) | 椭圆曲线点数乘及配对运算的协同计算方法及系统 | |
CN107682158B (zh) | 一种可托管的认证加密方法 | |
CN111669275B (zh) | 一种无线网络环境下可选择从节点的主从协作签名方法 | |
CN110708157B (zh) | 一种基于无证书的多接收者匿名签密方法 | |
CN108964906B (zh) | 协同ecc的数字签名方法 | |
CN111934887B (zh) | 基于插值多项式的多接受者签密方法 | |
US6724893B1 (en) | Method of passing a cryptographic key that allows third party access to the key | |
CN114978488A (zh) | 一种基于sm2算法的协同签名方法及系统 |
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 |