一种基于ECDSA的代理签名方案
- 格式:pdf
- 大小:183.97 KB
- 文档页数:3
如何使用ECDSA算法生成数字签名
现在我们经常在区块链中看到数字签名这一术语是非常常见的。
在发送交易时,无论是比特币、Ethereum、Hyperledger Fabric还是任何其他平台,都在使用数字签名进行签名和验证。
区块链中的数字签名
ECDSA算法
从A点到B点在椭圆曲线上的切线
根据wiki ECDSA为:
椭圆曲线密码体制是一种基于有限域椭圆曲线代数结构的公钥密码体制。
与非对称密码学相比,ECC需要更小的密钥来提供同等的安全性。
椭圆曲线适用于密钥协议、数字签名、伪随机发生器等任务。
通过将密钥协议与对称加密方案相结合,它们可以间接用于加密。
它们也被用于一些基于椭圆曲线的整数分解算法中,这些算法在密码学中有广泛的应用,例如Lenstra椭圆曲线分解。
简单来说,ECDSA算法可以使用公钥密码学方法生成公钥/私钥集合,用于签名和验证签名。
让我们看看公钥密码学是什么样子的。
公钥和私钥由加密算法生成,如RSA,ECDSA。
发件人通过收件人公钥加密邮件并发送。
在另一端,收件人通过自己的私钥解密消息并获取消息。
现在回过头来看看ECDSA,利用椭圆曲线在给定的源点G上画切线,生成密钥。
p是一个具有很大值的有限模。
椭圆曲线上的切线
椭圆曲线上的切线定义为
Y²mod p=(x³+7)mod p。
一种基于ECDSA的有序多重数字签名方案牛涤尘,徐飙(中航工业西安航空计算技术研究所,陕西西安710068)摘要:该文以ECDSA算法为基础,提出了一种有序多重数字签名方案。
ECDSA算法基于椭圆曲线密码体系,具有更高的安全性及执行速度,更短的密钥长度,占用更小的存储空间及带宽。
本方案加入CA中心来控制签名顺序,从而保证签名的有效性和安全性。
最后通过实验,证明了本方案的正确性和安全性。
关键词:椭圆曲线;多重签名;有序;CA中心中图分类号:TP309.7文献标识码:A文章编号:1009-3044(2016)05-0207-03生活中,手写签字和印章随处可见,作为保证文件或数据的可靠性、数据源的证明或不可否认性等被广泛应用。
网络技术迅猛发展的今天,办公方式趋向信息化,无纸化,传统的手写签名和印章无法满足信息化需求,数字签名应运而生。
数字签名,即通过某种密码运算生成一系列代码组成电子密码对电子消息进行签名,通过某种算法进行验证,用于解决消息完整性,身份认证及防抵赖等问题。
在一些特殊的情况下,要求多个签名者签署同一份文件,产生了多重签名。
根据签名过程不同,多重签名分为有序和广播多重签名。
有序多重签名要求一组签名者按照给定顺序对文件进行签名,广播多重签名则没有对签名顺序的要求,只要所有的签名者签署文件即可。
2004年,L.Harn,C.-Y.Lin和T.-C.Wu于提出了一种基于ElGamal算法的结构化多重签名算法[1],该算法实现了有序多重数字签名,并进一步扩展,实现了有序和广播两种签名结构相结合的数字签名算法,该算法建立在离散对数密码体系上。
就密码体系而言,现目前研究的热点椭圆曲线密码体系,其安全性、密钥长度、计算开销与速度、存储需求和带宽需求等方面优于其他公钥密码体系[2,3]。
文献[5]提出了一种以ECDSA(ellipticcurve digital signature algorithm)为基础的多重数字签名方案,它是一种基于椭圆曲线密码体系的算法。
2021年2月Journal on Communications February 2021 第42卷第2期通信学报V ol.42No.2安全高效的两方协同ECDSA签名方案王婧1,吴黎兵1,2,罗敏2,何德彪2(1. 武汉大学计算机学院,湖北武汉 430070;2. 武汉大学国家网络安全学院,湖北武汉 430070)摘 要:为了解决签名私钥易泄露和签名权利过度集中的问题,针对基于区块链技术的网络交易系统,提出了一种安全高效的两方协同ECDSA签名方案。
通过预计算一次一密的Beaver三元组,进而利用基于Beaver三元组的安全两方乘法技术,有效避免使用计算繁重的同态加密和通信开销较大的不经意传输等操作,实现高效的两方协同ECDSA签名,保证2个签名参与方在不重构完整签名私钥的情况下输出合法的ECDSA签名。
方案的安全性在通用可组合框架中的混合模型下被证明。
理论分析与实验结果表明,与现有的2种两方协同ECDSA签名方案相比,所提方案在协同签名运行效率和带宽要求方面均具有明显优势。
关键词:私钥泄露;密钥保护;签名效率;两方签名中图分类号:TP309文献标识码:ADOI: 10.11959/j.issn.1000−436x.2021019Secure and efficient two-party ECDSA signature schemeWANG Jing1, WU Libing1,2, LUO Min2, HE Debiao21. School of Computer Science, Wuhan University, Wuhan 430070, China2. School of Cyber Science and Engineering, Wuhan University, Wuhan 430070, ChinaAbstract: To solve the easy disclosure of signature private key and excessive concentration of signature rights, a secure and efficient two-party ECDSA signature scheme was proposed for the blockchain based network trading systems. By pre-computing one-time pad Beaver’s triple, and utilizing the Beaver’s triple based secure two-party multiplication tech-nology, some computationally intensive homomorphic encryption operations and oblivious transfer operations with high communication overhead were effectively avoided, and thereby an efficient two-party ECDSA signing was realized, which could ensure that the two signing parties output valid ECDSA signature without reconstructing the complete pri-vate key. The proposed scheme was proved to be provably secure under the hybrid model of the universally composable framework. Theoretical analysis and simulation results demonstrate that the proposed scheme has significant advantages in terms of signing efficiency and bandwidth requirements when compared with the existing two two-party ECDSA sig-nature schemes.Keywords: private key leakage, key protection, signing efficiency, two-party signature1 引言椭圆曲线数字签名算法(ECDSA, elliptic curve digital signature algorithm)是椭圆曲线加密(ECC, elliptic curve cryptography)与数字签名算法(DSA, digital signature algorithm)的结合,于1999年成为收稿日期:2020−09−02;修回日期:2020−12−05通信作者:吴黎兵,**************基金项目:国家自然科学基金资助项目(No.61932016, No.61972294, No.61772377, No.61672257, No.91746206);湖北省自然科学基金资助项目(No.2017CFA007);深圳市科技计划基金资助项目(No.JCYJ20170818112550194)Foundation Items: The National Natural Science Foundation of China (No.61932016, No.61972294, No.61772377, No.61672257, No.91746206), The Natural Science Foundation of Hubei Province (No.2017CFA007), The Science and Technology Planning Project of Shenzhen (No.JCYJ20170818112550194)第2期王婧等:安全高效的两方协同ECDSA签名方案·13·美国国家标准学会(ANSI, America National Stan-dards Institute)标准,并于2000年成为电气和电子工程师协会(IEEE, Institute of Electrical and Elec-tronics Engineers)、美国国家标准与技术研究院(NIST, National Institute of Standards and Technolo-gy)标准[1]。
“可公开验证的代理重加密签密方案”一想起这个方案,我的思绪就像打开了闸门的洪水,一股脑儿地涌出来。
这个方案啊,可是我磨砺了十年,一点一滴积累起来的智慧结晶。
咱们就从头开始捋一捋。
这个方案的核心是“可公开验证的代理重加密签密”。
这句话听起来有点复杂,但其实就是在保证安全性的基础上,实现加密信息的代理重加密和签名验证。
具体来说,就是让第三方可以在不需要原始密钥的情况下,对加密信息进行重加密,同时还能验证信息的签名是否真实有效。
1.设计目标(1)确保加密信息的安全性,防止信息泄露。
(2)实现代理重加密,让第三方能够在不泄露原始密钥的情况下对加密信息进行重加密。
(3)确保签名验证的准确性,防止恶意篡改。
2.技术路线(1)基于椭圆曲线密码体制,实现加密和签名。
(2)利用代理重加密技术,实现加密信息的转换。
(3)采用公开验证技术,确保签名的真实性和有效性。
3.具体方案下面,我就详细介绍一下这个方案的具体内容。
(1)加密与签名我们选择椭圆曲线密码体制进行加密和签名。
椭圆曲线密码体制具有安全性高、运算速度快等优点,非常适合用于加密和签名。
具体操作如下:选择一条安全的椭圆曲线,公钥和私钥。
对待加密信息进行椭圆曲线加密,密文。
对密文进行签名,签名。
(2)代理重加密代理重加密的核心是将加密信息转换成另一种加密形式,使得第三方可以在不泄露原始密钥的情况下对加密信息进行重加密。
具体操作如下:第三方自己的公钥和私钥。
将原始密文和第三方公钥一起发送给代理服务器。
代理服务器利用第三方公钥对原始密文进行重加密,新的密文。
将新的密文发送给第三方。
(3)签名验证签名验证的目的是确保加密信息的真实性和有效性。
具体操作如下:第三方收到新的密文后,验证签名。
如果签名验证通过,说明信息真实有效。
如果签名验证不通过,说明信息被篡改,拒绝接收。
4.安全性分析(1)椭圆曲线密码体制的安全性。
(2)代理重加密技术防止了原始密钥的泄露。
(3)公开验证技术确保了签名的真实性和有效性。
(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 201910147344.8(22)申请日 2019.02.27(71)申请人 武汉大学地址 430072 湖北省武汉市武昌区八一路299号(72)发明人 何德彪 王婧 冯琦 张语荻 林超 (74)专利代理机构 湖北武汉永嘉专利代理有限公司 42102代理人 唐万荣 李丹(51)Int.Cl.H04L 9/32(2006.01)H04L 9/30(2006.01)(54)发明名称一种基于两方协同的ECDSA数字签名方法(57)摘要本发明公开了一种基于两方协同的ECDSA数字签名方法,该方法包括:1)参与协同签名的签名方Alice和签名方Bob,各自生成对应的签名公私钥对和其他参数:2)Alice和Bob协同完成ECDSA签名,最终输出签名(r,s)。
本发明方法在保证安全性和正确性的前提下,签名过程不引入同态加密、不经意传输等高开销的密码操作,使得签名方案在通信开销和计算开销上取得了良好的平衡,因此性能上显著地优于现有的所有ECDSA两方协同数字签名方法。
权利要求书2页 说明书5页 附图2页CN 109639439 A 2019.04.16C N 109639439A1.一种基于两方协同的ECDSA数字签名方法,其特征在于,包括以下步骤:1)参与协同签名的签名方Alice和签名方Bob,各自生成对应的签名公私钥对和其他参数:1.1)Alice随机选择一个大整数d A∈Z n作为私钥,计算对应的公钥D A=[d A]G;Bob随机选择一个大整数d B∈Z n作为私钥,计算对应的公钥D B=[d B]G;其中,G是ECDSA椭圆曲线的基点,n是阶,Z n为模大整数n的剩余类;1.2)Bob生成一个关于(d B,D B)离散对数关系的零知识证明π1,将(π1,D B)发送给Alice;1.3)Alice验证(π1,P B)的正确性,如果不正确,终止方案执行过程;如果正确,则计算P AB =D A+D B,并且生成一个关于(d A,D A)离散对数关系的零知识证明π2,将(π2,D A)发送给Bob;1.4)Bob验证(π2,D A)的正确性,如果不正确,终止方案执行过程;如果正确,则计算P AB=D B+D A;1.5)Alice随机选择一对大整数a A,b A∈Z n;Bob随机选择一对大整数a B,b B∈Z n;1.6)Alice和Bob通过运算分别获得数据份额z A,z B,使得满足(z A+z B)mod n=(a A+a B)·(b A+b B)mod n;1.7)Alice和Bob协商一对或多对随机密钥,记随机密钥对为(m A,m B),使其满足m A+m B=1mod n;2)Alice和Bob协同完成ECDSA签名,最终输出签名(r,s),并更新步骤1中的相关参数:a A,b A,z A,a B,b B,z B:2.1)Alice随机选择一对大整数k A,ρA∈Z n,计算R A=[k A]G;Bob随机选择一对大整数k B,ρB∈Z n,计算R B=[k B]G;其中,Z n为模大整数n的剩余类;2.2)Bob生成一个关于(k B,R B)离散对数关系的零知识证明π3,将(π3,R B)发送给Alice;2.3)Alice验证(π3,R B)的正确性,如果不正确,终止方案执行过程;如果正确,则计算R =R A+R B=(r x,r y)和待签名消息的杂凑值e=h(M),r=r x mod n;并且生成一个关于(k A,R A)离散对数关系的零知识证明π4,将(π4,R A)发送给Bob;2.4)Bob验证(π4,R A)的正确性,如果不正确,终止方案执行过程;如果正确,则计算R=R B+R A=(r x,r y)和待签名消息的杂凑值e=h(M),r=r x mod n;2.5)Alice选择一对密钥对(m A,m B),计算大整数δA=(m A·e+r·d A)mod n,u A=(k A-a A) mod n,v A=(δA-a A)mod n,w A=(ρA-b A)mod n;Bob计算大整数δB=(m B·e+r·d B)mod n,u B=(k B-a B)mod n,v B=(δB-a B)mod n,w B=(ρB-b B)mod n;2.6)Alice将计算的数据(u A,v A,w A)发送给Bob;Bob同理将数据(u B,v B,w B)发送给Alice;2.7)Alice计算u=(u A+u B)mod n,v=(v A+v B)mod n,w=(w A+w B)mod n,αA=(k A·w+ρA·u+z A-u·w)mod n,βA=(δA·w+ρA·v+z A-v·w)mod n;Alice将k A,ρA,αA分别赋值给a A,b A,z A;当实际应用需求为Bob输出签名值时,Alice将数据(αA,βA)发送给Bob;若无需求,可选择不发送(αA,βA);2.8)Bob计算u=(u A+u B)mod n,v=(v A+v B)mod n,w=(w A+w B)mod n,αB=(k B·w+ρB·u+ z B)mod n,βB=(δB·w+ρB·v+z B)mod n;Bob将k B,ρB,αB分别赋值给a B,b B,z B;当实际应用需求为Alice输出签名值时,Bob将数据(αB,βB)发送给Alice,否则可选择不发送(αB,βB);2.9)当实际应用需求为Alice输出签名值时,Alice计算s=(αA+αB)-1(βA+βB)mod n,输出最终的签名值(r,s);当实际应用需求为Bob输出签名值时,Bob计算s=(αA+αB)-1(βA+βB) mod n,输出最终的签名值(r,s)。
A new proxy blind singature scheme based on
ECDLP
作者: 孙爱民[1];李沛[2];王天芹[3]
作者机构: [1]漯河职业技术学院,河南漯河462002;[2]河南农业大学,河南郑州450002;[3]河南大学数据与知识工程研究所,河南开封475004
出版物刊名: 商丘师范学院学报
页码: 66-69页
年卷期: 2010年 第12期
主题词: 代理签名;盲签名;椭圆曲线;代理盲签名;安全哈希算法-224
摘要:结合代理签名和盲签名的特性,以改进的Mohammed盲签名方案和改进的Camenish 盲签名方案为基础,设计出一种基于ECDLP的代理盲签名方案,并对该方案的安全性进行了分析.在该方案中引用了一种新的安全哈希算法.。
(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 201910147344.8(22)申请日 2019.02.27(71)申请人 武汉大学地址 430072 湖北省武汉市武昌区八一路299号(72)发明人 何德彪 王婧 冯琦 张语荻 林超 (74)专利代理机构 湖北武汉永嘉专利代理有限公司 42102代理人 唐万荣 李丹(51)Int.Cl.H04L 9/32(2006.01)H04L 9/30(2006.01)(54)发明名称一种基于两方协同的ECDSA数字签名方法(57)摘要本发明公开了一种基于两方协同的ECDSA数字签名方法,该方法包括:1)参与协同签名的签名方Alice和签名方Bob,各自生成对应的签名公私钥对和其他参数:2)Alice和Bob协同完成ECDSA签名,最终输出签名(r,s)。
本发明方法在保证安全性和正确性的前提下,签名过程不引入同态加密、不经意传输等高开销的密码操作,使得签名方案在通信开销和计算开销上取得了良好的平衡,因此性能上显著地优于现有的所有ECDSA两方协同数字签名方法。
权利要求书2页 说明书5页 附图2页CN 109639439 A 2019.04.16C N 109639439A权 利 要 求 书1/2页CN 109639439 A1.一种基于两方协同的ECDSA数字签名方法,其特征在于,包括以下步骤:1)参与协同签名的签名方Alice和签名方Bob,各自生成对应的签名公私钥对和其他参数:1.1)Alice随机选择一个大整数d A∈Z n作为私钥,计算对应的公钥D A=[d A]G;Bob随机选择一个大整数d B∈Z n作为私钥,计算对应的公钥D B=[d B]G;其中,G是ECDSA椭圆曲线的基点,n是阶,Z n为模大整数n的剩余类;1.2)Bob生成一个关于(d B,D B)离散对数关系的零知识证明π1,将(π1,D B)发送给Alice;1.3)Alice验证(π1,P B)的正确性,如果不正确,终止方案执行过程;如果正确,则计算P AB =D A+D B,并且生成一个关于(d A,D A)离散对数关系的零知识证明π2,将(π2,D A)发送给Bob;1.4)Bob验证(π2,D A)的正确性,如果不正确,终止方案执行过程;如果正确,则计算P AB=D B+D A;1.5)Alice随机选择一对大整数a A,b A∈Z n;Bob随机选择一对大整数a B,b B∈Z n;1.6)Alice和Bob通过运算分别获得数据份额z A,z B,使得满足(z A+z B)mod n=(a A+a B)·(b A+b B)mod n;1.7)Alice和Bob协商一对或多对随机密钥,记随机密钥对为(m A,m B),使其满足m A+m B=1mod n;2)Alice和Bob协同完成ECDSA签名,最终输出签名(r,s),并更新步骤1中的相关参数:a A,b A,z A,a B,b B,z B:2.1)Alice随机选择一对大整数k A,ρA∈Z n,计算R A=[k A]G;Bob随机选择一对大整数k B,ρB∈Z n,计算R B=[k B]G;其中,Z n为模大整数n的剩余类;2.2)Bob生成一个关于(k B,R B)离散对数关系的零知识证明π3,将(π3,R B)发送给Alice;2.3)Alice验证(π3,R B)的正确性,如果不正确,终止方案执行过程;如果正确,则计算R =R A+R B=(r x,r y)和待签名消息的杂凑值e=h(M),r=r x mod n;并且生成一个关于(k A,R A)离散对数关系的零知识证明π4,将(π4,R A)发送给Bob;2.4)Bob验证(π4,R A)的正确性,如果不正确,终止方案执行过程;如果正确,则计算R=R B+R A=(r x,r y)和待签名消息的杂凑值e=h(M),r=r x mod n;2.5)Alice选择一对密钥对(m A,m B),计算大整数δA=(m A·e+r·d A)mod n,u A=(k A-a A) mod n,v A=(δA-a A)mod n,w A=(ρA-b A)mod n;Bob计算大整数δB=(m B·e+r·d B)mod n,u B=(k B-a B)mod n,v B=(δB-a B)mod n,w B=(ρB-b B)mod n;2.6)Alice将计算的数据(u A,v A,w A)发送给Bob;Bob同理将数据(u B,v B,w B)发送给Alice;2.7)Alice计算u=(u A+u B)mod n,v=(v A+v B)mod n,w=(w A+w B)mod n,αA=(k A·w+ρA·u+z A-u·w)mod n,βA=(δA·w+ρA·v+z A-v·w)mod n;Alice将k A,ρA,αA分别赋值给a A,b A,z A;当实际应用需求为Bob输出签名值时,Alice将数据(αA,βA)发送给Bob;若无需求,可选择不发送(αA,βA);2.8)Bob计算u=(u A+u B)mod n,v=(v A+v B)mod n,w=(w A+w B)mod n,αB=(k B·w+ρB·u+ z B)mod n,βB=(δB·w+ρB·v+z B)mod n;2。
基于ECDLP的新代理盲签名方案
孙爱民;李沛;王天芹
【期刊名称】《郑州轻工业学院学报(自然科学版)》
【年(卷),期】2010(025)006
【摘要】结合代理签名和盲签名的特性,以改进的Mohammed和Camenish盲签名方案为基础,设计了一种基于ECDLP的代理盲签名方案,在该方案中合理融入代理授权机制,并引入一种新的安全哈希算法,以椭圆曲线密码体制的安全性为保证.安全分析结果表明,本方案具有安全性高、系统开销小和计算量低等特点,可以有效地保护用户私有信息和对用户提供私有性服务.
【总页数】3页(P81-83)
【作者】孙爱民;李沛;王天芹
【作者单位】漯河职业技术学院计算机工程系,河南,漯河,462002;河南农业大学外国语学院,河南,郑州,450002;河南大学数据与知识工程研究所,河南,开封,475004【正文语种】中文
【中图分类】TP309
【相关文献】
1.一种新的基于ECDLP的受限盲签名方案 [J], 王占刚;万振凯;王泽恒
2.基于ECDLP的新的代理盲签名方案 [J], 孙爱民;李沛;王天芹
3.新的基于证书的代理盲签名方案 [J], 翟正元;高德智;梁向前;潘帅
4.一种新的基于身份的代理盲签名方案 [J], 梁林
5.一个基于椭圆曲线的代理签名和代理盲签名方案 [J], 王泽成;苏晓萍;汪精明
因版权原因,仅展示原文概要,查看原文内容请购买。
ecdsa 3044签名格式
在签署交易时重复使用一个数字,要了解此机器人的工作原理,我们需要先查看 ECDSA 和数字签名。
是椭圆曲线数字签名算法,或 ECDSA。
顾名思义,ECDSA 是一种生成数字签名的方案。
这些签名是我们证明账户和资产所有权的方式。
每个签名证明两件事:
1.您拥有一些称为私钥的秘密。
每个私钥都与一个称为公钥的公知密钥相关联。
您的加密“地址”是一个公钥。
2.您使用私钥对特定消息进行签名。
在我们的例子中,消息是交易。
ECDSA 之所以有效,是因为您可以轻松地使用私钥生成公钥,但不能使用公钥来导出私钥。
但是,您可以在某些有限条件下使用签名来撤销私钥。
为了生成签名,ECDSA 需要一个私钥 d、一个随机数 k 和消息的哈希值 h。
它将这些与与私钥 d 相关联的公钥 Q 以及由ECDSA 算法标准化的两个数字 G 和 n 组合在一起。
这些一起用于使用以下算法计算数字签名:
r = k * G \mod n
s = \frac{h + d * r}{k} \mod n
r 和 s 一起形成数字签名。