CN101741559B - 一种无密钥泄露的变色龙数字签名方法 - Google Patents
一种无密钥泄露的变色龙数字签名方法 Download PDFInfo
- Publication number
- CN101741559B CN101741559B CN2008102189510A CN200810218951A CN101741559B CN 101741559 B CN101741559 B CN 101741559B CN 2008102189510 A CN2008102189510 A CN 2008102189510A CN 200810218951 A CN200810218951 A CN 200810218951A CN 101741559 B CN101741559 B CN 101741559B
- Authority
- CN
- China
- Prior art keywords
- chameleon
- signature
- signer
- verifier
- digital
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及一种生成和验证数字内容的变色龙数字签名的方法。该方法采用特殊的变色龙杂凑函数,采用指数相等的知识证明技术,在判定性Diffie-Hellman问题困难的循环群上实现了无密钥泄露的变色龙数字签名。解决了背景技术中仅能在间隙Diffie-Hellman群上实现无密钥泄露的变色龙数字签名,效率不高、安全假设太强、适用范围窄等问题。
Description
技术领域
本发明涉及信息安全领域。特别的,本发明涉及一种无密钥泄漏的变色龙数字签名生成和验证的系统。
背景技术
数字签名是一种基本的信息安全技术,在身份认证、数据完整性、不可否认性以及匿名性等方面有重要应用,特别是在网络安全通信中的密钥分配,认证以及电子商务、电子政务等系统中具有重要的作用。数字签名是实现认证的重要工具。
数字签名的生成和验证需要签名者的签名私钥和验证公钥。签名者的签名私钥是仅被签名者知晓的。签名者的验证公钥则是公开的。数字签名的生成需要使用签名者的签名私钥和被签名的数字内容。数字签名的验证则是使用验证公钥来确认签名者拥有对应的签名私钥。数字签名的安全性要求数字签名应是不可伪造的,即没有签名私钥的任何人或者设备都不能伪造一个数字签名。签名私钥具有唯一标志签名者身份的重要作用,数字签名不应泄漏签名私钥的有用信息。
普通的数字签名具有广义可验证性,即任何人都可验证某个签名是否是对某个特定消息的签名。这个特性在一些情况下是有很用的,比如公开宣传品的发布。但是在很多其他应用中,特别是为了保护签名者或接收者的隐私时,并不希望让所有人都能验证消息/签名对。这就产生了数字签名体制中广义可验证性和隐私性之间的矛盾。例如,某个签名者签署了一份标书去投标,标书的标价通常属于隐私信息,此时这个签名者就希望其签名不要公开验证,否则其竞争者就可以通过其标书来确认某个标价确实属于该签名者,以至于会在与该签名者以后的竞争中处于有利地位。还有许多其他的例子凸显了上述矛盾,为此需要设计特殊的数字签名来解决问题。
Chaum和Van Antwerpen提出了不可否认签名来解决上述问题。由于签名的验证必须通过签名者的合作才能完成,所以签名不满足广义可验证性。更进一步,签名者可以决定签名只有在某种条件下才能被验证或只能被某个特定的实体所验证。
Krawcayk和Rabin提出了变色龙签名来更有效的解决上述问题。变色龙签名基于标准的数字签名生成方法,即:先哈希再签名。其中变色龙哈希函数被用来计算消息哈希值。变色龙哈希函数是一种单向陷门哈希函数,陷门信息的拥有者可以有效地计算出一个随机输入的碰撞;而在没有陷门信息的情况下,函数是抗碰撞的。变色龙签名像不可否认签名一样可以同时提供不可否认性和不可传递性,但是相对于后者,前者可以更简单、更高效的实现。更精确的来说,变色龙签名是非交互的,并且不涉及复杂的零知识证明,而这是传统的不可否认签名实现的基础。虽然存在非交互式的不可否认签名,但变色龙签名的实现更为简单。
在最初所设计的一些变色龙签名方案中,如果验证者伪造签名,而签名者得到了伪造签名,签名者就可以利用此变色龙哈希函数的碰撞计算出验证者的私钥,造成验证者密钥泄漏。这一特性虽然可以有效防止验证者伪造签名,但是第三方可能因为相信验证者不敢冒着私钥泄露的危险来伪造签名,进而相信某个签名确实是签名者所签署的,从而削弱了签名的不可传递性。
陈晓峰等人基于双线性对提出了第一个完全的无密钥泄漏的变色龙哈希函数,新方案很好的解决了这一问题。随后,Ateniese等人提出了更多基于不同假设的无密钥泄露变色龙哈希函数。Ateniese等人指出传统的单陷门的承诺方案无法用来构造无密钥泄露的变色龙哈希函数;只有双陷门的承诺方案可以用来设计无密钥的变色龙哈希函数或基于身份的变色龙哈希函数。
然而目前基于离散对数体制的无密钥泄漏的变色龙签名方案都是基于所谓的间隙Diffie-Hellman群来构造,需要进行计算复杂度较高的双线性对的运算,所设计的签名方案效率较低。而且间隙Diffie-Hellman群是一种特殊的群结构,该群上的判定性Diffie-Hellman问题是容易的,安全假设比较强。而目前大多数循环群如一般有限域上的乘法群都不是间隙Diffie-Hellman群,所以目前的变色龙签名方案适用范围窄。因此如果能够基于判定性Diffie-Hellman问题困难的循环群来设计无密钥泄漏的变色龙签名方案,就可以使得设计的方案基于比较弱的安全假设,会有较大的适用范围,较好的效率。
由上述可知,现有技术中已公布的基于离散对数体制的变色龙数字签名方案并不理想。我们希望给出一种变色龙数字签名方案,使之能够基于判定性Diffie-Hellman问题困难的循环群,同时能够解决密钥泄露问题,具有较高的效率和较宽的适用范围。
发明内容
本发明的目的在于提供一种更加高效的无密钥泄露的变色龙数字签名方案的实现方法,解决背景技术中设计无密钥泄漏的变色龙签名方案必须依赖于间隙Diffie-Hellman群,效率不高、安全假设太强、适用范围窄等问题。
为实现上述目的,本发明提供一种无密钥泄露的变色龙数字签名方案的实现方法:设置公开的系统参数;设置签名者拥有的签名私钥和公开的验证公钥;设置验证者拥有的陷门私钥和公开的变色龙公钥;签名者使用签名私钥和变色龙公钥计算数字内容的变色龙数字签名;验证者使用签名者公开的验证公钥、变色龙公钥和陷门私钥来验证变色龙数字签名的正确性;签名者向可信第三方否认验证者生成的变色龙签名。
1)公开的系统参数包括:循环群G,群G的生成元为g,生成元g的阶为素数q,全域无碰撞的杂凑函数H:{0,1}*→G*,任意一种安全的数字签名算法(JG,JS,JV)。
其中循环群G上的判定性Diffie-Hellman问题是困难的。
其中安全的数字签名算法指该算法在适应性选择消息攻击下具有不可伪造性。
2)签名者拥有的签名私钥xS和公开的验证公钥yS由算法JG生成。根据数字签名算法(JG,JS,JV)的不同,签名私钥和验证公钥可以有各种不同的形式。
3)验证者拥有的陷门私钥为 公开的变色龙公钥为
4)签名者使用签名私钥和变色龙公钥计算数字内容 的变色龙数字签名的步骤如下:
(1)签名者选择随机整数
(2)生成比特串I;
(3)计算变色龙杂凑值H;
(4)使用签名私钥xs,使用数字签名算法JS,对变色龙杂凑值H签名,获得签名值
其中变色龙杂凑值H的计算方法为在循环群G上计算H=gαH(yR,I)m。
其中比特串I包含签名者身份信息、验证者身份信息以及签名者和验证者约好的时间信息。
(1)验证者用陷门私钥对签名的第一个元素gα在群G上计算
(3)验证者生成比特串I;
(4)使用变色龙公钥计算yR和消息m计算H(yR,I)m;
(5)验证者使用签名的第一个元素和计算所得到的H(yR,I)m来计算变色龙杂凑值H=gαH(yR,I)m
(6)验证者使用公开的验证公钥yS,变色龙杂凑值H,根据数字签名验证算法JV所定义的验证过程来验证签名δ的正确性。如果签名验证失败则认为签名为假,否则认为签名为真。
6)签名者向可信第三方否认验证者生成的关于消息m*的变色龙签名 的步骤如下:
(1)可信第三方验证变色龙签名是否满足以下属性:
(2)如果可信第三方认为验证者提交的变色龙签名满足上述两个属性,则要求签名者否认变色龙签名,否则直接认定变色龙签名为假。
(3)签名者向可信第三方否认变色龙签名的过程如下:
—签名者向可信第三方展示消息m或者提供消息m是群元素H/gα以H(yR,I)为底的离散对数的知识证明;
—签名者向可信第三方提供证据证明gα和具有相同的指数;
(4)如果签名者提供了消息m,可信第三方检查变色龙签名所签署的消息与m不同,但是H=gαH(yR,I)m就可以判定变色龙签名为假;
(5)如果签名者没有提供消息m,可信第三方检查 就可以判定变色龙签名为假。
本发明具有以下优点:
本发明基于判定性Diffie-Hellman问题困难的循环群,构造了无密钥泄露的变色龙数字签名方案。本发明基于判定性Deffie-Hellman问题困难的循环群,具有较高的效率,较低的安全假设和较宽的适用范围。
本发明提供的变色龙数字签名方案的实现方法,适用于电子投标、电子拍卖、版权保护、数字作品防伪等领域。
附图说明
图1为无密钥泄露的变色龙数字签名方案实现方法框图
具体实施方式
以软件的版权保护为例说明本方案的具体实施。软件版权所有者为本方案的签名人,软件的消费者为本方案的验证者。通过本方案的实施,软件版权所有者可以为数字产品签署变色龙签名,软件的消费者能够通过验证变色龙签名确认数字产品的真实性,然而源于变色龙签名的不可转移性,消费者无法向任何人证明其所用产品为正品,从而使得数字产品不会被消费者复制进行二次销售。具体实施过程如下:
1)软件版权所有人和消费者具有如下公开的系统参数:
—安全的数字签名算法(JG,JS,JV):可以选定为ECDSA签名算法,签名长度192比特,该签名算法的参数遵循SEC推荐的SECp192r1,参数(p,a,b,g,q,h)如下:
p=FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFFFFFFFFFFFF;
a=FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFFFFFFFFFFFC;
b=64210519 E59C80E7 0FA7E9AB 72243049 FEB8DEECC146B9B1;
g=(x,y);
x=04 188DA80E B03090F6 7CBF20EB 43A18800 F4FF0AFD82FF1012;
y=07192B95 FFC8DA78 631011ED 6B24CDD5 73F977A11E794811;
G=<g>,为点g生成的群;
q=FFFFFFFF FFFFFFFF FFFFFFFF 99DEF836 146BC9B1B4D22831;
h=01。
—变色龙签名方案中的公开参数循环群G,生成元g,素数q可以与数字签名算法(JG,JS,JV)中的相关参数相同;
—全域无碰撞的杂凑函数H在本具体实施中可以采用SHA-256先对输入比特串进行杂凑,然后对杂凑值模q,获得值x,把该值代入椭圆曲线方程y2=x3+ax+b,如果能够解得y,则获得H的输出(x,y);否则用i串联输入比特串重复上述过程,获得xi,其中i依次取值{1,2,3...},直到解得yi为止,获得H的输出为(xi,yi)。
2)软件版权所有者拥有的签名私钥xS和公开的验证公钥yS由BLS短签名算法中的密钥生成算法生成。并且软件版权所有者向证书权威机构注册自己的公钥,获得公钥证书。
3)消费者拥有的陷门私钥为 公开的变色龙公钥为 并且消费者向证书权威机构注册自己的变色龙公钥,获得公钥证书。
4)软件版权所有者对软件产品运行SHA-256杂凑运算,获得该软件产品的数字指纹,之后进行模q运算获得待签署的消息m。之后软件版权所有者运行以下步骤:
(1)签名者选择随机整数
(2)使用软件版权所有者的公钥证书主体标识和唯一标识,消费者的主体标识和唯一标识,数字产品公开的上架时间来生成比特串I;
(3)使用全域无碰撞函数计算变色龙杂凑值H=gαH(yR,I)m;
(4)使用签名私钥xs,使用数字签名算法JS,对变色龙杂凑值H签名,获得签名值
(1)消费者用陷门私钥对签名的第一个元素gα在群G上计算
(3)使用软件版权所有者的公钥证书主体标识和唯一标识,消费者的主体标识和唯一标识,数字产品公开的上架时间来生成比特串I;
(4)消费者对不包含签名的软件产品运行SHA-256杂凑运算,获得该软件产品的数字指纹,之后进行模q运算获得待签署的消息m。
(5)消费者使用自己的变色龙公钥计算yR和生成的消息m计算H(yR,I)m;
(5)消费者使用签名的第一个元素和计算所得到的H(yR,I)m来计算变色龙杂凑值H=gαH(yR,I)m
(6)消费者使用公开的验证公钥yS,变色龙杂凑值H,根据数字签名验证算法JV所定义的验证过程来验证签名δ的正确性。如果签名验证失败则认为签名为假,否则认为签名为真。
(1)可信第三方验证伪变色龙签名是否满足以下属性:
—消费者向可信第三方提交的指数相同的证据;
(2)如果可信第三方认为提交的变色龙签名满足上述两个属性,则要求软件版权所有者否认变色龙签名,否则直接认定变色龙签名为假。
(3)软件版权所有者向可信第三方否认变色龙签名的过程如下:
—软件版权所有者向可信第三方展示消息m或者提供消息m是群元素H/gα以H(yR,I)为底的离散对数的知识证明;
(4)如果软件版权所有者提供了消息m,可信第三方检查需要验证真伪的变色龙签名所签署的消息m*与m不同,但是H=gαH(yR,I)m就可以判定提交的变色龙签名为假,产品为伪造;
(5)如果软件版权所有者没有提供消息m,可信第三方检查 就可以判定变色龙签名为假,产品为伪造。
Claims (6)
1.一种生成和验证数字内容的变色龙数字签名方法,包括:
用于计算公开的系统参数的步骤;
用于计算签名者拥有的签名私钥和公开的验证公钥的步骤;
用于计算验证者拥有的陷门私钥和公开的变色龙公钥的步骤;
用于签名者使用签名私钥和变色龙公钥计算数字内容的变色龙数字签名的步骤;
用于验证者使用签名者公开的验证公钥、变色龙公钥和陷门私钥来验证变色龙数字签名的正确性的步骤;
用于签名者向可信第三方否认验证者生成的变色龙签名的步骤;
其特征在于:
2.根据权利要求1所述的一种生成和验证数字内容的变色龙数字签名方法,其特征在于所述变色龙杂凑值H的计算方法为在循环群G上计算H=gαH(yR,I)m。
3.根据权利要求1所述的一种生成和验证数字内容的变色龙数字签名方法,其特征在于所述比特串I包含签名者身份信息、验证者身份信息以及签名者和验证者协商好的时间信息。
5.根据权利要求4所述的一种生成和验证数字内容的变色龙数字签名方法,其特征在于所述验证者使用签名者公开的验证公钥、变色龙公钥和陷门私钥来验证变色龙数字签名的正确性时按照以下步骤:
(3)验证者生成比特串I;
(4)使用变色龙公钥计算yR和消息m计算H(yR,I)m;
(5)验证者使用签名的第一个元素和计算所得到的H(yR,I)m来计算变色龙杂凑值H=gαH(yR,I)m;
(6)验证者使用公开的验证公钥yS,计算所得的变色龙杂凑值H根据数字签名验证算法JV所定义的验证过程来验证签名δ的正确性,如果签名验证失败则认为签名为假,否则认为签名为真。
(1)签名者向可信第三方展示关于消息m的部分变色龙签名值消息m、gα和具有相同的指数的证据,或者向可信第三方展示关于消息m的部分变色龙签名值消息m是群元素H/gα以H(yR,I)为底的离散对数的知识证明、gα和具有相同的指数的证据;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102189510A CN101741559B (zh) | 2008-11-10 | 2008-11-10 | 一种无密钥泄露的变色龙数字签名方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102189510A CN101741559B (zh) | 2008-11-10 | 2008-11-10 | 一种无密钥泄露的变色龙数字签名方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101741559A CN101741559A (zh) | 2010-06-16 |
CN101741559B true CN101741559B (zh) | 2012-11-07 |
Family
ID=42464499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102189510A Active CN101741559B (zh) | 2008-11-10 | 2008-11-10 | 一种无密钥泄露的变色龙数字签名方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101741559B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102256247B (zh) * | 2011-06-17 | 2014-06-04 | 西安电子科技大学 | 无线网络中安全有效的切换认证方案的通用构造 |
US8874921B2 (en) * | 2011-06-20 | 2014-10-28 | Guardtime IP Holdings, Ltd. | System and method for generating keyless digital multi-signatures |
CN103607279B (zh) * | 2013-11-14 | 2017-01-04 | 中国科学院数据与通信保护研究教育中心 | 基于多核处理器的密钥保护方法及系统 |
CN108401243B (zh) * | 2018-02-23 | 2019-03-29 | 广州大学 | 车载自组网消息认证方法与系统 |
CN110086631B (zh) * | 2019-04-29 | 2021-06-08 | 电子科技大学 | 一种可更新变色龙哈希函数的方法 |
CN113779606A (zh) * | 2021-09-15 | 2021-12-10 | 杭州溪塔科技有限公司 | 一种降低隐私泄露风险的信息校验方法及系统 |
CN114710298B (zh) * | 2022-06-02 | 2022-09-06 | 深圳天谷信息科技有限公司 | 基于变色龙哈希的文档批量签署方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601959A (zh) * | 2004-10-15 | 2005-03-30 | 宁波三维技术有限公司 | 税控收款机控制软件安全更新的方法及装置 |
CN101217366A (zh) * | 2007-01-04 | 2008-07-09 | 李代甫 | 一种带写保护的数字签名装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8312523B2 (en) * | 2006-03-31 | 2012-11-13 | Amazon Technologies, Inc. | Enhanced security for electronic communications |
-
2008
- 2008-11-10 CN CN2008102189510A patent/CN101741559B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601959A (zh) * | 2004-10-15 | 2005-03-30 | 宁波三维技术有限公司 | 税控收款机控制软件安全更新的方法及装置 |
CN101217366A (zh) * | 2007-01-04 | 2008-07-09 | 李代甫 | 一种带写保护的数字签名装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101741559A (zh) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101741559B (zh) | 一种无密钥泄露的变色龙数字签名方法 | |
CN108551392B (zh) | 一种基于sm9数字签名的盲签名生成方法及系统 | |
Gennaro et al. | RSA-based undeniable signatures | |
CN101977110B (zh) | 一种基于椭圆曲线的群签名方法 | |
CN103259662B (zh) | 一种新的基于整数分解问题的代理签名及验证方法 | |
CN102377565A (zh) | 一种基于指定验证者的可链接环签名方法 | |
CN104780050A (zh) | 基于椭圆曲线的前向安全的成员可撤销无证书群签名方案 | |
CN103220147B (zh) | 基于多变量公钥密码体制的强指定验证者签名方法 | |
CN102045164B (zh) | 一种基于身份的无密钥泄露的变色龙数字签名方法 | |
CN101252431A (zh) | 一种通用的数字签名方案的实现方法 | |
CN103220146B (zh) | 基于多变量公钥密码体制的零知识数字签名方法 | |
Yoon et al. | New ID-based proxy signature scheme with message recovery | |
Kiltz et al. | Identity-based signatures | |
CN116346328A (zh) | 一种数字签名方法、系统、设备及计算机可读存储介质 | |
CN102291396B (zh) | 可信平台远程证明的匿名认证算法 | |
CN105187208B (zh) | 非授权的基于无证书的强指定验证者签名体制 | |
Tsai | An improved cross-layer privacy-preserving authentication in WAVE-enabled VANETs | |
CN104917615B (zh) | 一种基于环签名的可信计算平台属性验证方法 | |
CN109617700A (zh) | 基于无证书的单向多跳代理重签名方法 | |
Zhu et al. | Stand-alone and setup-free verifiably committed signatures | |
Tso | A new way to generate a ring: Universal ring signature | |
Zhang et al. | Efficient escrow-free identity-based signature | |
Yang et al. | A strong designated verifier signature scheme with secure disavowability | |
Shao | Security of the design of time-stamped signatures | |
Mohanty et al. | A novel time-stamped signature scheme based upon DLP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
DD01 | Delivery of document by public notice |
Addressee: Chen Manxiang Document name: Notification of Patent Invention Entering into Substantive Examination Stage |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
DD01 | Delivery of document by public notice |
Addressee: Guangzhou Xinrui Network Technology Co., Ltd. Document name: Notification of Passing Examination on Formalities |
|
DD01 | Delivery of document by public notice |