CN101425902A - 一个具有前向安全的门限数字签名方法与系统 - Google Patents

一个具有前向安全的门限数字签名方法与系统 Download PDF

Info

Publication number
CN101425902A
CN101425902A CNA2008100465357A CN200810046535A CN101425902A CN 101425902 A CN101425902 A CN 101425902A CN A2008100465357 A CNA2008100465357 A CN A2008100465357A CN 200810046535 A CN200810046535 A CN 200810046535A CN 101425902 A CN101425902 A CN 101425902A
Authority
CN
China
Prior art keywords
participant
secret
signature
agreement
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
Application number
CNA2008100465357A
Other languages
English (en)
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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CNA2008100465357A priority Critical patent/CN101425902A/zh
Publication of CN101425902A publication Critical patent/CN101425902A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明属于信息安全技术领域,涉及对数字信息进行签名问题,更确切地说是涉及一种能够增加敌手窃取签名密钥难度并且能够减轻签名密钥泄露影响的数字签名方法与系统。该签名方法通过应用Shamir秘密共享技术以及多方安全计算技术为一个经典的基础数字签名方法添加了门限机制与子秘密更新机制。门限机制增强了签名密钥的安全性,并可以起到权利分散的作用;子秘密更新机制实现了签名密钥的前向安全,即:即使敌手获得当前时间段的签名密钥,敌手也不能够通过该密钥伪造出一个属于前一时间段的合法签名,保护了以前的签名的有效性,降低了密钥泄露的损失。另外,该签名方法还包括一个成员加入机制,加强了方案的安全性和适用范围。

Description

一个具有前向安全的门限数字签名方法与系统
技术领域
本发明属于信息安全技术领域,涉及对数字信息进行签名问题,更确切地说是涉及一种能够增加敌手窃取签名密钥难度并且能够减轻签名密钥泄露影响的数字签名方法与系统。
背景技术
前向安全签名的概念在1997年由Anderson引入,解决了通常数字签名的一些缺陷:一旦秘密密钥丢失(或被窃取),以前由这个密钥生成的所有签名都变得无效。为了减少这样的损失,Anderson提出把密钥的有效期分成时段,在每个时段的最后,签名者以一个单向的模式从当前时段的秘密密钥得到一个新的下一个时段秘密密钥,并且安全的删除不再使用的秘密密钥。而在整个密钥的生命周期里公钥不变,这个方法确保了泄露密钥的时段以前的所有签名的有效性。在最近这些年,具备前向安全的数字签名方案得到研究和发展。Bellare和Mine通过对通常签名方案安全定义的扩展,给出了前向安全正式的定义,同时提出了两个方案:一个是在普通签名基础上使用树型结构的证书链构造的方案:另一个是修改通常的签名方案(Fiat-Sham签名方案)。2001年,Abdalla和Miner给出一个前向安全的门限数字签名,但是该方案的签名密钥和验证密钥都比较长。
我们这里要研究的前向安全的门限签名方案应用门限机制对消息进行签名,即将签名密钥分割成多份,分别有多人保管,须由一定数目的签名子密钥拥有者联合才能够产生一个有效的签名,该签名等同于由签名密钥直接产生并可使用对应的公开密钥验证其有效性。方案还采用密钥进化机制,把整个周期(一般是声明的公钥有效期)分成更小的一个个时段,在整个周期内,公钥是固定不变的,而私钥是随时段不断进化。
一个标准的数字签名包括密钥生成协议、签名协议和签名验证算法,而在前向安全的数字签名方案中,还包括一个密钥进化协议,这个协议是用来说明在整个周期中,密钥是怎样进化的。另外,一个不可忽视的问题是在门限签名系统中,成员签名子密钥会出现损坏或丢失,当子密钥损失数目超过一定值后,整个系统将不可用,另外针对某具体应用,可能会有向系统中加入新成员的应用需求,因此一个完善的前向安全的门限签名方案还应该包括一个成员加入协议。
一个A(t,ks,ku,kj,n)前向安全的门限数字签名是指该方案最多可以在t个参与者被攻陷后,仍能保证其签名密钥的安全性,它的工作过程如下:
在密钥生成阶段,分发者生成公、私钥并将私钥分割后分发给n个参与者。
在每一个时间段的开始时刻,由n个参与者中的ku个没被攻陷的参与者执行密钥进化协议,协议执行后,这个时段的私钥将改变,并且每一个参与者,无论是否参与密钥进化协议,都会得到这个时段属于自己的新的子密钥。
要对一个消息m进行签名,需ks个参与者共同执行签名协议,进而生成一个使用当前时段签名密钥签署的消息签名。这个签名中将包括本时段的序号并可以由公钥验证通过。
当有新成员要加入系统时,需要kj个参与者共同执行成员加入协议,为新加入成员生成一个这一时段属于他的签名子密钥。该过程不泄露任何原有成员的秘密信息,并且新成员加入后,与原有成员拥有相同的地位。
验证过程同普通数字签名验证过程相同。任何持有公钥的一方都可以执行该过程,验证结果将是“接受”或“拒绝”,以告知验证者被验证的签名是否有效。我们假设前向安全的门限数字签名方案产生的签名形式是<j,tag>,其中j为产生该签名的时段序号,对于一个前向安全的门限签名方案,在时段l,即使敌手攻陷t个以上参与者,他也不能成功伪造一个签名<j,tag>满足verifyPK(m,<j,tag>)=1并且j<l。这里,verify()是签名验证算法,也就是说,敌手即使在第l时段获得签名密钥,他也不能伪造出l时段之前的有效签名。前向安全的方案都要求使用者删除前一时段使用的密钥,并将这一步骤作为密钥进化协议的一部分,这很关键,否则,敌手攻陷系统后将根据以前时段的子秘密信息获得以前时段的签名密钥来生成以前时段的有效签名。
在我们的发明中,应用了下面的数论知识:
设k和l是两个安全参数,p1≡p2≡3(mod4)是两个大素数。N=p1p2是一个k位的整数(即N是一个Blum整数)。为了简化计算,我们可以合理地假设N>2k-1,并且|ZN *|=N-p1-p2+1≥2k-1。记Q是模N的二次剩余集合。由数论中的定理可知|Q|≥2k-3,并且对于集合Q中任意元素x,x的四个平方根中有且仅有一个属于Q,因此,平方在Q上是一个置换。从现在起,当我们说x的平方根时,我们是指属于Q的那个平方根。
令U∈Q,定义:F0(Z)=Z2modN,F1=UZ2mod N。对于l位二进制串σ=σ1…σl,定义Fσ:Q→Q为: F &sigma; ( Z ) = F &sigma; 1 ( &CenterDot; &CenterDot; &CenterDot; ( F &sigma; 2 ( F &sigma; 1 ( Z ) ) ) &CenterDot; &CenterDot; &CenterDot; ) = Z 2 l U &sigma; mod N . (注意:这里的Uσ并非通常意义上的U的σ次幂,σ在这里是一个二进制串,而非代表一个整数)因为平方是在Q上的置换,而U∈Q,故Fσ在Q上也是一个置换。
在知道U和N的前提下,Fσ(z)可以快速计算,同时,如果知道p1和p2,则对于给定的Y,可以快速计算出 Z = F &sigma; - 1 ( Y ) . (通过计算 S = 1 / U 2 - l mod N Z = Y 2 - l S &sigma; mod N 可得。这些计算可以先分别计算modp1和modp2的结果,然后用中国剩余定理合并。)然而,如果不知道U的平方根,那么是难于计算的。下面我们给出证明:
引理:给定Y∈Q和两个不同的等长的串σ和τ,Z1=Fσ -1(Y),Z2=Fτ -1(Y),能够计算出V∈Q且V2≡U mod N
证明:如果|σ|=|τ|=1,(无损于一般性地),令σ=0,τ=1,则F0(Z1)=F1(Z2)=Y,则Z1 2≡UZ2 2mod N,于是得到V=Z1/Z2mod N。在归纳证明中,令σ和τ为两个长m+1位的串,σ’和τ’为其对应的前m位。如果Fσ’(Z1)=Fτ’(Z2),则归纳假设完成,否则σ和τ最后一位应该是不同的,于是(不失一般性),假设σ最后一位为0,τ最后一位为1,则F0(Fσ’(Z1))=F1(Fτ’(Z2)),同上可以得证。
根据上面提到的单向函数可以构造下面的数字签名方案。本文提出的前向安全的门限签名方案就是以该方案为基础,加入门限机制和前向安全机制得到的。
签名者生成大模数N和一个随机数S∈Q,S作为签名密钥,需安全保管。计算 U = ( S 2 l ) - 1 并公开(N,U)作为公钥。H()为一个输出位数为l的哈希函数。
要对消息M签名时,首先生成随机数R∈Q,计算 Y = R 2 l , σ=H(Y,M),Z=Fσ -1(Y)=RSσmod N。输出(Z,σ)作为消息M的签名。
验证者验证签名时,首先验证Z≠0mod N,而后计算 Y , = F &sigma; ( Z ) = Z 2 l U &sigma; mod N , 最后检验σ=H(Y’,M)是否成立,成立则证明该签名是M的合法签名。
该数字签名算法是一个经典算法,其正确性和安全性已经由许多前辈学者证明过并经历了长时间的实践检验。
发明内容
本发明的目的是设计一种数字签名方法与签名系统,该签名方法具有门限机制与子秘密更新机制。门限机制增强了签名密钥的安全性,并可以起到权利分散的作用;子秘密更新机制实现了签名密钥的前向安全,即:即使敌手获得当前时间段的签名密钥,敌手也不能够通过该密钥伪造出一个属于前一时间段的合法签名,保护了以前的签名的有效性,降低了密钥泄露的损失。另外,该签名方法还拥有成员加入机制,加强了方案的安全性和适用范围。
方法的特点:
1.本签名方法是一个(t,2t+1,2t+1,t+1,n)的签名方案,其中n≥3t+1,
2.密钥长度短:签名密钥(私钥)与验证密钥(公钥)的长度是常数,与总时段数无关,
并且与其他不具前向安全性的签名方案的密钥长度相当。
3.在门限数字签名方案中加入前向安全机制的方法具有不额外增加计算量的特点,即该前向安全门限签名方案与普通门限数字签名方案具有相同的效率。
4.完善的成员加入机制,使系统更安全更灵活。
本发明的技术方案是这样的:
整个方案包括五个部分:密钥生成协议、密钥进化协议、签名协议、签名验证算法、新成员加入协议。另外,方案中应用到一些关于秘密共享以及安全多方计算的知识,我们将这些知识作为基础模块应用在我们的方案中。下面我们首先介绍基于这些基础知识协议模块,然后给出我们发明的前向安全的门限数字签名方案的完整描述。
一、Shamir秘密共享方案(Shamir-SS)
1979年,Shamir提出秘密共享的思想,并给出了一个有限域上的秘密共享方案。具体方案如下:设GF(q)是一有限域,其中q是一大素数,满足q≥n+1,秘密a0是在GF(q)\{0}上均匀选取的一个随机数,k-1个系数a1,a2,…ak-1的选取也满足aiRGF(q)\{0}。在GF(q)上构造一个t次多项式f(x)=a0+a1x+a2x2+…atxt
n个参与者记为P1,P2…Pn,Pi分配到的子密钥为f(i)。如果任意t+1个参与者
Figure A200810046535D00081
(1≤i1<i2<…<it+1≤n)要想得到秘密a0,可使用{(ij,f(ij))|j=1,2,…t+1}构造如下的线性方程组:
a 0 + a 1 ( i 1 ) + &CenterDot; &CenterDot; &CenterDot; + a t ( i 1 ) t = f ( i 1 ) a 0 + a 1 ( i 2 ) + &CenterDot; &CenterDot; &CenterDot; + a t ( i 2 ) t = f ( i 2 ) &CenterDot; &CenterDot; &CenterDot; a 0 + a 1 ( i t + 1 ) + &CenterDot; &CenterDot; &CenterDot; + a t ( i t + 1 ) t = f ( i t + 1 )
因为it(1≤l≤t+1)均不相同,所以可由Lagrange插值公式构造如下的多项式:
f ( x ) = &Sigma; j = 1 t + 1 f ( i j ) &Pi; l = 1 l &NotEqual; j t + 1 ( x - i l ) ( i j - i l ) ( mod q )
从而可得秘密a0=f(0)。
由上面知识我们构造下面的秘密共享算法:
Shamir-SS算法
算法参数:Z,s,n,t
1.执行者在集合Z中选择t个随机数a1,a2,…,at作为系数,以秘密s作为常数项构造t次
多项式f(x)=s+a1x+a2x2+…atxt
2.执行者为多项式赋值,得到关于秘密s的子秘密s1=f(1),s2=f(2),…,sn=f(n)。
算法说明:Shamir-SS实现将秘密s利用Shamir秘密共享方案分割成n份,得到子秘密s1,s2,…,sn并且其中的t+1份联合可以恢复出共享秘密s。
二、安全多方计算
在我们的协议的子秘密更新的部分中,需要解决参与者联合计算生成原共享秘密平方的子秘密的问题,这个问题可归类于计算生成两个共享秘密的乘积的子秘密的问题,即:假设n个参与者,通过t次多项式fα(x)和fβ(x)共享秘密α和β,即fα(0)=α,fβ(0)=β。现在,参与者要联合计算获得αβ的子秘密。对于这个问题,有下面的解决方案。
令Pi所拥有的关于α、β的子秘密记为fα(i)、fβ(i),fα(x)与fβ(x)的乘积为fα(x)fβ(x)=γ2tx2t+…+γ1x+αβ=fαβ(x),对于1≤i≤2t+1,有fαβ(i)=fα(i)fβ(i),所以可以写成:
A &alpha;&beta; &gamma; 1 &CenterDot; &CenterDot; &CenterDot; &gamma; 2 t = f &alpha;&beta; ( 1 ) f &alpha;&beta; ( 2 ) &CenterDot; &CenterDot; &CenterDot; f &alpha;&beta; ( 2 t + 1 )
这里矩阵A=(aij)是(2t+1)×(2t+1)的范德蒙矩阵,aij=ij-1。显然,A是可逆矩阵,设A的逆矩阵为A-1,A-1的第一行记为(λ1…λ2t+1),当t确定的情况下,λ1…λ2t+1为确定的常数,αβ=λ1fαβ(1)+…+λ2t+1fαβ(2t+1)。如果给定t次多项式h1(x),…,h2t+1(x)满足hi(0)=fαβ(i),(1≤i≤2t+1),定义:
H ( x ) = &Sigma; i = 1 2 t + 1 &lambda; i h i ( x )
则有H(0)=λ1fαβ(1)+…+λ2t+1fαβ(2t+1)=αβ。因此,如果每一个参与者用一个多项式hi(x)共享他的子秘密,那么H(x)就是可以将αβ秘密共享的那个t次多项式。
根据上面的知识,我们设计了下面的Mult-SS协议:
Mult-SS协议
参与者Pi的输入:fα(i)和fβ(i)的值
1.参与者选取一个随机t次多项式hi(x),满足hi(0)=fα(i)fβ(i),用各个参与者对应的公钥加密属于他们的值hi(j)得到
Figure A200810046535D00102
1≤j≤2t+1并以广播的形式将这些加密后的子秘密公布出去。
2.每一个参与者Pj接收
Figure A200810046535D00103
解密出hi(j),然后计算属于他的αβ的子秘密:
H ( j ) = &Sigma; i = 1 2 t + 1 &lambda; i h i ( j ) .
协议说明:协议利用安全多方计算实现共享两个共享秘密乘积,参与者利用该协议可以利用自己当前拥有的两个共享秘密α和β的子秘密fα(i)和fβ(i)得到属于他的αβ的子秘密。
三、联合生成并秘密共享随机数(Joint-Shamir-RSS)
在门限数字签名方案中,要涉及参与者联合生成并秘密共享随机数的问题,这个问题可以用下面的方法解决。每一个参与者Pi选取一个随机数并将它作为秘密,用Shamir秘密共享方案,计算属于每一个参与者的子秘密:
Figure A200810046535D00105
用各个参与者对应的公钥加密属于他们的子秘密得到
Figure A200810046535D00112
并以广播的形式将这些加密后的子秘密公布出去。这样,联合生成的随机数就是各个参与者选取的随机数之和,而每一个参与者Pj掌握的对应的子秘密为 S 1 ( j ) + S 2 ( j ) + &CenterDot; &CenterDot; &CenterDot; .
Joint-Shamir-RSS协议
1.参与者Pi选取一个随机数si作为秘密,并选取t个随机数ai1,ai2,…,ait作为系数构造t次
多项式fi(x)=si+ai1x+ai2x2+…aitxt
2.参与者Pi计算属于每一个参与者的子秘密:用各个参与者对应的公钥加密属于他们的子秘密得到 E PK 1 ( S i ( 1 ) ) , E P K 2 ( S i ( 2 ) ) , &CenterDot; &CenterDot; &CenterDot; , E PK n ( S i ( n ) ) , 并以广播的形式将这些加密后的子秘密公布出去。
3.每一个参与者Pj解密所有接收到的
Figure A200810046535D00117
Figure A200810046535D00118
而参与者Pj掌握的对应的联合生成的随机数的子秘密为 S 1 ( j ) + S 2 ( j ) + &CenterDot; &CenterDot; &CenterDot; S n ( j )
协议说明:协议通过每一个参与者选取一个随机数并执行一个类似于Shamir-SS协议的过程,使所有参与者共同生成一个随机数,而每个参与者掌握这个随机数对应的子秘密。
下面我给出FST-SIG数字签名方案的完整描述,其中所有计算都是mod N的。
Protocol FST-SIG.keygen(k,T)
1.分发者挑选两个随机的大素数p和q,并且满足p≡q≡3(mod4),p,q需要保密;
2.分发者计算N,使N=pq;
3.分发者在ZN *中随机选取S0并计算U, U = ( S 0 2 l ( T + 1 ) ) - 1 ;
4.分发者利用Shamir-SS,在Zn上计算S0的子秘密:
Figure A200810046535D001111
5.令 SK 0 ( &rho; ) = ( N , T , 0 , S 0 ( &rho; ) ) (ρ=1,2,…,n),PK=(N,T,U);
6.分发者通过保密的信道将
Figure A200810046535D001113
发送给第ρ个参与者并发布签名验证密钥PK。Protocol FST-SIG.sign(m,j)
1.参与者利用Joint-Shamir-RSS共同生成随机数R(R∈ZN),每个参与者拥有R的子秘密R(ρ)
2.参与者根据R(ρ)利用Mult-SS计算Y,使 Y = R 2 l ( T + 1 - j ) ;
3.每一个参与者ρ计算σ=H(j,Y,m);
4.利用Mult-SS参与者联合计算 Z = RS j &sigma; ;
5.公布消息m的签名<j,(Z,σ)>。
Algorithm FST-SIG.verify(m,PK,sign)
假设:PK是(N,U,T);sign是<j,(Z,σ)>;
ifZ≡0(mod N)
return(0);
Figure A200810046535D00123
if σ=H(j,Y′,m)
then return(1);
else return(0);
Protocal FST-SIG.update(j)
1.如果j=T,则返回空串;否则,执行:
2.参与者根据各自的子秘密
Figure A200810046535D00124
利用Mult-SS,计算Sj-1的2l次方Sj的子秘密
3.每个参与者ρ删除
Figure A200810046535D00126
Protocal FST-SIG.jion(j,n+1)
1.每一个参与者Pi,i∈{1…n}在Zq上选取一个随机t次多项式δi(x),满足δi(n+1)=0。(可以这样选取:在Zq上选取随机数{δij}j∈{1…t}然后计算δi0=-∑j∈{1…t}δij(n+1)j(mod q)。)
2.每个参与者Pi使用其他参与者Pj的公钥加密δi(j)(j∈{1…n},j≠i)得到{ENCji(j))}并广播。
3.每个参与者Pi计算 S j ( i ) &prime; = S j ( i ) + &Sigma; P j &Element; D &delta; j ( i ) 并将
Figure A200810046535D00132
保密传送给Pn+1
4.新加入者Pn+1获得所有的
Figure A200810046535D00133
用拉格朗日插值法恢复出属于他的子秘密
Figure A200810046535D00134
进而获得签名子密钥 SK j ( n + 1 ) = ( N , T , j , S j ( n + 1 ) ) .
下面分别对上述协议、算法进行说明:
Protocol FST-SIG.keygen(k,T)是密钥生成协议,由可信的分发者执行。分发者选择好密钥后,用我们上面提到过的Shamir秘密共享方案将秘密密钥共享生成子密钥 SK 0 ( &rho; ) = ( N , T , 0 , S 0 ( &rho; ) ) 并通过安全信道传送给每一个参与者。这里下标0代表该应用密钥的时段序号,上标(ρ)表示该密钥为参与者Pρ拥有。我们需要强调一点是:在签名方案中应用Shamir秘密共享时,我们的计算是在ZN上的,这里ZN显然不是域,但是,我们仍然可以证明系统是可以正确运行的。首先,我们要求所有参与者的数目n要小于系统参与p,q,其次我们要求分发者分配给参与者Pi的子秘密为f(i)。这样,所有用于重构秘密的子秘密将都不含有因子p或q。这样,在秘密恢复时,我们构造的(t+1)×(t+1)范德蒙矩阵中的所有元素都不含有因子p或q,这样,因为矩阵的行列式为
Figure A200810046535D00137
因此可以保证行列式值是与N互素的。因此,在上面提出的两个前提下,在ZN上的Shamir秘密共享方案仍然是正确的。
Protocol FST-SIG.sign(m,j)是签名协议,该协议需要2t+1个参与者参与完成。在基础的数字签名算法中,随机数R应该是取自于而在这里,为了加入门限机制,随机数需要由多方共同选取的,这样R是ZN中的一个随机数。但是,一个数属于ZN但不属于的概率是十分小的,大约是
Figure A200810046535D001310
是一个可以忽略的小概率。所以我们可以认为由这个签名协议生成的签名仍然是有效的。
Algorithm FST-SIG.verifyPK(m,PK,sign)是签名验证算法,与普通数字签名方案的验证算法相同,该算法由任何拥有对应公钥的一方执行。
Protocal FST-SIG.update(j)是密钥进化协议。在每个时段的开始,由2t+1个参与者参与,执行密钥进化协议,完成密钥进化,获得该时段所使用的签名密钥。在时段j的开始时刻,成功进行上次密钥进化的参与者拥有j-1时段签名密钥SKj-1的子密钥
Figure A200810046535D00141
利用Mult-SS,参与者可计算Sj-1的2l次方Sj的子秘密
Figure A200810046535D00142
然后立即删除
Figure A200810046535D00143
此时 SK j ( &rho; ) = ( N , T , j , S j ( &rho; ) ) . 要强调的是,除了参与密钥进化计算的2t+1个参与者外,当前所有的没有被敌手阻断攻陷的参与者(包括在前一时段被阻断,现在恢复的参与者)都可以从这2t+1个参与者获得足够信息,计算出属于自己这一时段的子秘密。
Protocal FST-SIG.jion(j,n+1)是新成员加入协议。该协议可以在任何时刻添加入新成员,例如在j时段时,首先当前成员之间先依据申请加入成员的序列号n+1共同生成一个t次多项式,可以记为δj(x)满足δj(n+1)=0,而后当前每个成员Pi分别计算 S j ( i ) &prime; = S j ( i ) + &delta; j ( i ) 并将
Figure A200810046535D00146
保密传送给Pn+1,新加入成员Pn+1可以更加接受到得
Figure A200810046535D00147
恢复出一个多项式,带入n+1即可得
Figure A200810046535D00148
继而得到属于自己j时段的子密钥 SK j ( n + 1 ) = ( N , T , j , S j ( n + 1 ) ) .
具体实施方式
在我们前向安全的门限数字签名系统中,所有的参与方包括n个签名服务器(即方案中的参与者)用Pi表示1≤i≤n,他们都位于一个广播网络上,并且他们两两之间存在可进行保密通信的安全信道,这样的信道可以在广播信道上使用加密技术实现,使用的加密算法应该是前向安全的公钥加密算法。另外系统还包括一个可信的分发者,签名服务器与分发者之间可以进行广播通信也可以进行点对点的加密通信。其中任意一台签名服务器都可以接受签名请求,发起并组织一次签名,并最后将生成的签名发送给签名请求者。最后我们要求系统具有同步性,他们在协议的某一阶段可以同步地发送他们的信息。
本发明的发明内容部分对实施已经做出了详细说明,在此不再重复描述。但需要说明的是:针对不同的应用需求,不同的安全性等级要求,可以采用不同规模的参数:N,l等。因此本发明可以具有很多种具体的实施方式。

Claims (1)

1、一种数字签名方法与签名系统,该签名方法具有门限机制、子秘密更新机制以及成员加入机制。其特征是,以Shamir-SS协议、Mult-SS协议、Joint-Shamir-RSS协议为基础模块,设计出的前向安全的门限签名方案(FST-SIG签名方案)。整个数字签名方案包括五个部分:密钥生成协议、密钥进化协议、签名协议、签名验证算法、新成员加入协议。方案中涉及到的协议及算法的核心内容如下:
Protocol FST-SIG.keygen(k,T)  // 密钥生成协议
(1).分发者挑选两个随机的大素数p和q,并且满足p≡q≡3(mod4),p,q需要保密;
(2).分发者计算N,使N=pq;
(3).分发者在ZN *中随机选取S0并计算U, U = ( S 0 2 l ( T + 1 ) ) - 1 ;
(4).分发者利用Shamir-SS,在Zn上计算S0的子秘密:
Figure A200810046535C00022
(5).令 SK 0 ( &rho; ) = ( N , T , 0 , S 0 ( &rho; ) ) (ρ=1,2,…,n),PK=(N,T,U);
(6).分发者通过保密的信道将发送给第ρ个参与者并发布签名验证密钥PK。
Protocol FST-SIG.sign(m,j)  // 签名协议
(1).参与者利用Joint-Shamir-RSS共同生成随机数R(R∈ZN),每个参与者拥有R的子秘密R(ρ)
(2).参与者根据R(ρ)利用Mult-SS计算Y,使Y=R2l(T+1-j)
(3).每一个参与者ρ计算σ=H(j,Y,m);
(4).利用Mult-SS参与者联合计算 Z = RS j &sigma; ;
(5).公布消息m的签名<j,(Z,σ)>。
Algorithm FST-SIG.verify(m,PK,sign)  // 签名验证算法
假设:PK是(N,U,T);sign是<j,(Z,σ)>;
ifZ≡0(modN)
return(0);
else Y′=Z2l(T+1-j)Uσmod N;
if σ==H(j,Y′,m)
then return(1);
else return(0);
Protocal FST-SIG.update(j)  // 密钥进化协议
(1).如果j=T,则返回空串;否则,执行:
(2).参与者根据各自的子秘密
Figure A200810046535C00031
利用Mult-SS,计算Sj-1的2l次方Sj的子秘密
Figure A200810046535C00032
(3).每个参与者ρ删除
Figure A200810046535C00033
Protocal FST-SIG.jion(j,n+1)//成员加入协议
(1).每一个参与者Pi,i∈{1…n}在Zq上选取一个随机t次多项式δi(x),满足δi(n+1)=0。(可以这样选取:在Zq上选取随机数{δij}j∈{1…t}然后计算δi0=-∑j∈{1…t}δij(n+1)j(modq)。)
(2).每个参与者Pi使用其他参与者Pj的公钥加密δi(j)(j∈{1…n},j≠i)得到{ENCji(j))}并广播。
(3).每个参与者Pi计算 S j ( i ) &prime; = S j ( i ) + &Sigma; P j &Element; D &delta; j ( i ) 并将
Figure A200810046535C00035
保密传送给Pn+1
(4).新加入者Pn+1获得所有的
Figure A200810046535C00036
用拉格朗日插值法恢复出属于他的子秘密
Figure A200810046535C00037
,进而获得签名子密钥 SK j ( n + 1 ) = ( N , T , j , S j ( n + 1 ) ) .
Shamir-SS算法
算法参数:Z,s,n,t
(1).执行者在集合Z中选择t个随机数a1,a2,…,at作为系数,以秘密s作为常数项构造t次多项式f(x)=s+a1x+a2x2+…atxt
(2).执行者为多项式赋值,得到关于秘密s的子秘密s1=f(1),s2=f(2),…,sn=f(n)。
Mult-SS协议
参与者Pi的输入:fα(i)和fβ(i)的值
(1).参与者选取一个随机t次多项式hi(x),满足hi(0)=fα(i)fβ(i),用各个参与者对应的公钥加密属于他们的值hi(j)得到1≤j≤2t+1并以广播的形式将这些加密后的子秘密公布出去。
(2).每一个参与者Pj接收解密出hi(j),然后计算属于他的αβ的子秘密:
H ( j ) = &Sigma; i = 1 2 t + 1 &lambda; i h i ( j ) .
Joint-Shamir-RSS协议
(1).参与者Pi选取一个随机数si作为秘密,并选取t个随机数ai1,ai2,…,ait作为系数构造t次多项式fi(x)=si+ai1x+ai2x2+…aitxt
(2).参与者Pi计算属于每一个参与者的子秘密:
Figure A200810046535C00044
,用各个参与者对应的公钥加密属于他们的子秘密得到 E PK 1 ( S i ( 1 ) ) , E PK 2 ( S i 2 ) , &CenterDot; &CenterDot; &CenterDot; , E PK n ( S i ( n ) ) ,并以广播的形式将这些加密后的子秘密公布出去;
(3).每一个参与者Pj解密所有接收到的
Figure A200810046535C00046
Figure A200810046535C00047
,而参与者Pj掌握的对应的联合生成的随机数的子秘密为 S 1 ( j ) + S 2 ( j ) + &CenterDot; &CenterDot; &CenterDot; S n ( j ) .
CNA2008100465357A 2008-11-12 2008-11-12 一个具有前向安全的门限数字签名方法与系统 Pending CN101425902A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2008100465357A CN101425902A (zh) 2008-11-12 2008-11-12 一个具有前向安全的门限数字签名方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2008100465357A CN101425902A (zh) 2008-11-12 2008-11-12 一个具有前向安全的门限数字签名方法与系统

Publications (1)

Publication Number Publication Date
CN101425902A true CN101425902A (zh) 2009-05-06

Family

ID=40616258

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008100465357A Pending CN101425902A (zh) 2008-11-12 2008-11-12 一个具有前向安全的门限数字签名方法与系统

Country Status (1)

Country Link
CN (1) CN101425902A (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882992A (zh) * 2010-06-21 2010-11-10 中国农业大学 门限秘密信息分配、还原方法及装置
CN102111764A (zh) * 2009-12-24 2011-06-29 中国移动通信集团公司 广播信息安全性的保护方法、系统和设备
CN102473219A (zh) * 2009-07-21 2012-05-23 微软公司 通信信道声明相关的安全防范
CN102547694A (zh) * 2012-02-20 2012-07-04 上海电力学院 一种传感器网络中基于中国剩余定理的组密钥建立方法
CN102651747A (zh) * 2012-05-24 2012-08-29 电子科技大学 基于不可信更新环境的前向安全数字签名方法
CN102857339A (zh) * 2012-09-12 2013-01-02 无锡科技职业学院 基于次序的秘密分发共享和恢复重组方法
CN103684764A (zh) * 2013-12-03 2014-03-26 中国电子科技集团公司第三十研究所 一种具有前向安全的高效公钥加密方法
US8838981B2 (en) 2009-02-17 2014-09-16 Microsoft Corporation Communication channel access based on channel identifier and use policy
CN104780047A (zh) * 2015-04-03 2015-07-15 南京邮电大学 前向安全的无证书可验证加密签名方法
CN107425967A (zh) * 2017-06-15 2017-12-01 武汉理工大学 一种理论安全的灵活多秘密共享方法
CN107819586A (zh) * 2017-11-20 2018-03-20 电子科技大学 一种多授权中心的门限属性基签名方法
CN108111485A (zh) * 2017-12-04 2018-06-01 兰州大学 子密钥生成方法和装置、还原密钥方法和装置
CN109194465A (zh) * 2018-09-30 2019-01-11 巍乾全球技术集团有限责任公司 用于管理密钥的方法、用户设备、管理设备、存储介质和计算机程序产品
CN110233736A (zh) * 2019-06-19 2019-09-13 核芯互联(北京)科技有限公司 一种数字签名生成方法、验证方法、装置、设备、介质
CN110266721A (zh) * 2019-07-05 2019-09-20 西南交通大学 一种基于同态的云辅助动态通用安全多方计算方法
CN110380869A (zh) * 2019-08-27 2019-10-25 郑州师范学院 一种安全多方签名方法、装置、服务器及介质
CN110555315A (zh) * 2019-08-09 2019-12-10 阿里巴巴集团控股有限公司 模型参数确定方法、装置和电子设备
CN110971405A (zh) * 2019-12-06 2020-04-07 支付宝(杭州)信息技术有限公司 多方协同的sm2签名、解密方法及其系统
CN110999207A (zh) * 2017-08-15 2020-04-10 区块链控股有限公司 生成阈值库的计算机实现方法
US11113613B2 (en) 2019-08-09 2021-09-07 Advanced New Technologies Co., Ltd. Determining model parameters using secret sharing
CN113708924A (zh) * 2021-07-30 2021-11-26 西安邮电大学 基于区块链的椭圆曲线门限签名方法

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8838981B2 (en) 2009-02-17 2014-09-16 Microsoft Corporation Communication channel access based on channel identifier and use policy
CN102473219A (zh) * 2009-07-21 2012-05-23 微软公司 通信信道声明相关的安全防范
US8914874B2 (en) 2009-07-21 2014-12-16 Microsoft Corporation Communication channel claim dependent security precautions
CN102111764B (zh) * 2009-12-24 2014-09-10 中国移动通信集团公司 广播信息安全性的保护方法、系统和设备
CN102111764A (zh) * 2009-12-24 2011-06-29 中国移动通信集团公司 广播信息安全性的保护方法、系统和设备
CN101882992B (zh) * 2010-06-21 2012-12-12 中国农业大学 门限秘密信息分配、还原方法及装置
CN101882992A (zh) * 2010-06-21 2010-11-10 中国农业大学 门限秘密信息分配、还原方法及装置
CN102547694A (zh) * 2012-02-20 2012-07-04 上海电力学院 一种传感器网络中基于中国剩余定理的组密钥建立方法
CN102651747A (zh) * 2012-05-24 2012-08-29 电子科技大学 基于不可信更新环境的前向安全数字签名方法
CN102651747B (zh) * 2012-05-24 2015-08-19 电子科技大学 基于不可信更新环境的前向安全数字签名方法
CN102857339B (zh) * 2012-09-12 2015-06-03 无锡科技职业学院 基于次序的秘密分发共享和恢复重组方法
CN102857339A (zh) * 2012-09-12 2013-01-02 无锡科技职业学院 基于次序的秘密分发共享和恢复重组方法
CN103684764B (zh) * 2013-12-03 2016-07-06 中国电子科技集团公司第三十研究所 一种具有前向安全的高效公钥加密方法
CN103684764A (zh) * 2013-12-03 2014-03-26 中国电子科技集团公司第三十研究所 一种具有前向安全的高效公钥加密方法
CN104780047A (zh) * 2015-04-03 2015-07-15 南京邮电大学 前向安全的无证书可验证加密签名方法
CN107425967A (zh) * 2017-06-15 2017-12-01 武汉理工大学 一种理论安全的灵活多秘密共享方法
CN107425967B (zh) * 2017-06-15 2019-08-27 武汉理工大学 一种理论安全的灵活多秘密共享方法
CN110999207B (zh) * 2017-08-15 2024-05-31 区块链控股有限公司 生成阈值库的计算机实现方法
TWI822693B (zh) * 2017-08-15 2023-11-21 安地卡及巴布達商區塊鏈控股有限公司 產生臨界值保管庫之電腦施行方法
CN110999207A (zh) * 2017-08-15 2020-04-10 区块链控股有限公司 生成阈值库的计算机实现方法
CN107819586A (zh) * 2017-11-20 2018-03-20 电子科技大学 一种多授权中心的门限属性基签名方法
CN108111485B (zh) * 2017-12-04 2020-09-22 兰州大学 子密钥生成方法和装置、还原密钥方法和装置
CN108111485A (zh) * 2017-12-04 2018-06-01 兰州大学 子密钥生成方法和装置、还原密钥方法和装置
US11930103B2 (en) 2018-09-30 2024-03-12 Vechain Global Technology S.Ar.L Method, user device, management device, storage medium and computer program product for key management
CN109194465A (zh) * 2018-09-30 2019-01-11 巍乾全球技术集团有限责任公司 用于管理密钥的方法、用户设备、管理设备、存储介质和计算机程序产品
CN109194465B (zh) * 2018-09-30 2022-02-18 巍乾全球技术有限责任公司 用于管理密钥的方法、用户设备、管理设备、存储介质
CN110233736A (zh) * 2019-06-19 2019-09-13 核芯互联(北京)科技有限公司 一种数字签名生成方法、验证方法、装置、设备、介质
CN110266721A (zh) * 2019-07-05 2019-09-20 西南交通大学 一种基于同态的云辅助动态通用安全多方计算方法
CN110266721B (zh) * 2019-07-05 2020-04-28 西南交通大学 一种基于同态的云辅助动态通用安全多方计算方法
CN110555315B (zh) * 2019-08-09 2021-04-09 创新先进技术有限公司 基于秘密分享算法的模型参数更新方法、装置和电子设备
US11113613B2 (en) 2019-08-09 2021-09-07 Advanced New Technologies Co., Ltd. Determining model parameters using secret sharing
CN110555315A (zh) * 2019-08-09 2019-12-10 阿里巴巴集团控股有限公司 模型参数确定方法、装置和电子设备
CN110380869B (zh) * 2019-08-27 2022-04-08 郑州师范学院 一种安全多方签名方法、装置、服务器及介质
CN110380869A (zh) * 2019-08-27 2019-10-25 郑州师范学院 一种安全多方签名方法、装置、服务器及介质
CN110971405B (zh) * 2019-12-06 2022-06-14 支付宝(杭州)信息技术有限公司 多方协同的sm2签名、解密方法及其系统
CN110971405A (zh) * 2019-12-06 2020-04-07 支付宝(杭州)信息技术有限公司 多方协同的sm2签名、解密方法及其系统
CN113708924A (zh) * 2021-07-30 2021-11-26 西安邮电大学 基于区块链的椭圆曲线门限签名方法

Similar Documents

Publication Publication Date Title
CN101425902A (zh) 一个具有前向安全的门限数字签名方法与系统
CN110740033B (zh) 一种基于秘密共享技术的区块链多方数据共享方法
Zhao et al. An efficient certificateless aggregate signature scheme for the Internet of Vehicles
Lu et al. A pairing-free certificate-based proxy re-encryption scheme for secure data sharing in public clouds
CN101547099B (zh) 基于椭圆曲线的自认证签名方法与装置
CN106603246B (zh) 一种sm2数字签名分割生成方法及系统
CN106936593B (zh) 基于椭圆曲线高效匿名的无证书多接收者签密方法
EP2285040A1 (en) Two-factor combined public key generation and authentication method
CN106549770A (zh) Sm2数字签名生成方法及系统
CN109600233A (zh) 基于sm2数字签名算法的群签名标识签发方法
CN106850229B (zh) 基于乘积秘密分割的sm2数字签名生成方法及系统
CN104168114A (zh) 一种分布式的基于(k,n)门限证书加密方法及系统
CN103259650A (zh) 一种对诚实参与者公平的理性多秘密分享方法
CN109903450B (zh) 电子投票方法以及系统
CN104821880A (zh) 一种无证书广义代理签密方法
CN110336673B (zh) 一种基于隐私保护的区块链设计方法
CN108337092B (zh) 用于在通信网络中执行集体认证的方法和系统
CN111030821B (zh) 一种基于双线性映射技术的联盟链的加密方法
CN101309137A (zh) 一种基于秘密共享的单向函数树组播密钥管理方法
CN105763333A (zh) 一种非对称密钥的协商方法及系统
CN111211910A (zh) 基于秘密共享公钥池的抗量子计算ca及证书颁发系统及其颁发和验证方法
CN103634788A (zh) 前向安全的无证书多代理签密方法
CN107104793A (zh) 一种数字签名生成方法及系统
Battagliola et al. Threshold ecdsa with an offline recovery party
CN100550726C (zh) 一种分布式的动态密钥管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090506