基于Shamir秘密共享的可验证多秘密共享模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Shamir秘密共享的可验证多秘密共享模型
摘要:多秘密共享技术影响着信息安全和密码学在新型网络应用中的发展。
分析了两种YCH改进和一种
基于齐次线性递归的多秘密共享方案,基于Shamir秘密共享提出并实现了一种新的可验证的多秘密共享
模型,该模型在秘密合成阶段的时间复杂度为O(k×t2),优于两种YCH改进模型(O(t3)(t>k)
O(k3)(t≤k),O(k×(n+k)2)),实际模拟中秘密合成时间则少于其他三种模型,并且分析了四种模型在时间复
杂度、可验证性和公开值等方面的优劣性。
在n>k时,新模型所需公开值小于其他三种模型,实验结果
表明,新模型在秘密分发时间和秘密合成时间方面均优于其他三种模型。
关键词: 多秘密共享;lagrange插值;齐次线性递归;Shamir秘密共享
中图分类号: TP393 文献标识码: A
Verifiable multi-secret sharing scheme based on Shamir secret
sharing
Abstract:The development of the information security and cryptography in the new network applications is influenced by multi-secret sharing technology. In this paper, we analyse two kinds of improved YCH and a multi-secret sharing solution based on homogeneous linear recursion, and we propose and realize a new verifiable multi-secret sharing model based on Shamir secret sharing, the time complexity of this model in the phase of secrets recovery is O(k×t2), which is superior to other two kinds of improved YCH model (O(t3)(t>k) O(k3)(t≤k) ,O(k×(n+k)2)), the time of secrets synthesis in the actual simulation is less than the other three models, and we also analyse the advantages and disadvantages of the four models on the time complexity ,verifiability and open values. When n> k, the open values which the new model needs are fewer than that of the other three models, the experimental results show that the new model is better than the other three models on the time of secrets distribution and secrets recovery.
Key words:Multi-secret sharing;Lagrange interpolation polynomial;Homogeneous linear recursion; Shamir secret sharing
1引言
秘密共享在导弹发射、电子商务、电子选举和安全多方计算等方面有着广泛的应用。
A.Shamir[1]和G.Blakley[2]分别在有限域的多项式插值和有限几何的基础之上提出了秘密共享的概念。
由于Shamir的(t,n)门限秘密共享机制是最简单、最有效也是最实用的一种秘密共享机制[3],Shamir秘密共享机制成为秘密共享研究的主流。
但传统的秘密共享只能保护一个秘密信息,于是多秘密共享方案被Blundo[4]等人提出,在多秘密共享方案中,每个成员只需要分配一个秘密份额,便可以同时共享多个秘密。
在随后的几年中,多秘密共享得到了迅速发展。
Jackson[5]等人将所有的多秘密共享模型分为一次性模型和可重复使用模型。
所谓一次性模型,即在每次秘密恢复之后,成员的秘密份额泄露,必须给每个成员重新分配秘密份额。
而可重用模型可以避免这个问题,在可重用模型中,每次秘密恢复之后,无需重新分配秘密份额,也能保证每个成员秘密份额的安全性和有效性。
但是当时提出的大多数模型都是一次性模型。
基于此问题,He等人[6]提出了一种多阶段秘密共享方案,该方案期望通过运用单项函数来保护秘密份额并使得秘密按照一定次序顺次恢复。
方案需要k个插值函数,每个插值函数的常数项g i(0)为秘密p i,因此重复性工作很多。
该方案中需要的公开值个数为k×t个。
随后Harn提出了一种改进模型[7],改进后的模型需要的公开值个数为k×(n-t)个,改进方案适用于t的
数目近似于n的情况下。
但实际上这两种模型都是一次性模型,并不适合实际应用[8],并且公开值的个数也没明显的减少。
Chien等人[9]提出了一种基于分组码的多秘密共享模型,模型中运用单向双值函数保护秘密份额,保证了该模型的可重用性,在秘密恢复阶段通过解n+p-t个方程,秘密可被同时恢复出来。
该方案将公开值降低到n+p-t+1个。
Yang 等人[10]认为Chien提出的模型虽然减少了公开值的个数,但并非建立在Shamir模型基础之上。
于是他们给出一种基于Shamir模型的改进模型YCH模型,该模型分为两种情况考虑,当p≤t时,构建t-1次插值多项式,算法需要n+1个公开值,当p>t时,构建p-1次插值多项式,算法需要n+p-t个公开值。
此方案同样利用了双值单向函数,也同样通过解方程组来同时恢复所有秘密,因此在秘密恢复阶段的时间复杂度与[9]基本相同。
显然,当p<t时YCH 模型的公开值与[9]相比并没有减少,于是Pang等人[11]对YCH模型进行了进一步的改进。
在YCH方案中秘密p i作为插值函数的系数,而在Pang等人的模型中p i作为插值点的y坐标分量,构造n+p-1次插值多项式。
该方案不需要分两种情况考虑,在任何情况下公开值都维持在n+p-t+1个。
但在YCH 模型和Pang模型中都没有考虑成员欺骗的问题,且由于秘密份额由秘密分发者生成,需要另外设立安全信道来向每个成员传输秘密份额。
Zhao[12]等人基于YCH模型利用离散对数的难解性,在原模型的基础上添加了验证机制,使得每个成员都可以验证用于恢复秘密的秘密份额的正确性,有效地防止了成员欺骗,简称Z模型。
另外在Z模型中,每个成员的秘密份额由自身生成,不需要额外开设用于传输秘密份额的安全信道。
但由于Z模型的主体部分继承了YCH模型的方法,因此也继承了YCH模型的不足,在秘密分发和秘密合成阶段都需要分成两种情况考虑。
随后,He等人[13]对Pang模型进一步完善,同样添加了验证机制,解决了安全信道问题,简称H模型,该模型继承了Pang模型的优点,可以用统一的方法来完成秘密分发和秘密合成,不需要分情况讨论。
但该模型两次利用lagrange插值函数,且插值多项式为n+k-1阶,在秘密分发阶段的时间复杂度为O((n+k-t)×(n+k)2),在秘密合成阶段的时间复杂度为O((k×(n+k)2),计算开销很大。
Dehkordi等人[14]提出了两种基于齐次线性递归的可验证多秘密共享模型,简称D模型。
两种模型通过利用齐次线性递归构造t-1次多项式,将秘密恢复时间复杂度减低到O(k×t2)。
但在秘密合成阶段D模型需要计算 i,辅助计算开销很大。
本文提出了一种基于Shamir模型的新模型,该模型在秘密恢复阶段的时间复杂度也为O(k×t2),但本文模型在秘密恢复阶段无需计算大数幂方,辅助计算较少,所以实际秘密恢复时间比D模型少。
新模型的成员欺骗问题和安全信道问题采用与其他三种模型相同的方法完成,这样能更清晰的反应模型主体在计算时间方面的差别。
新模型需要2n+k+5个公开值,在n>k时,新模型所需的公开值个数少于其他三种模型。
另外,新模型在秘密分发阶段的时间复杂度小于H模型,而在秘密合成阶段,新模型与D模型同为时间复杂度最小的模型。
通过实验进一步对四种模型在计算时间方面进行了分析,可以看出D模型和新模型都为计算时间较少,且稳定性较好的模型,新模型在秘密合成阶段的计算时间少于D模型,在秘密合成阶段,仅t值很大时新模型的合成时间在小范围内多于D模型,其他情况下均与D模型基本相同。
本文其余部分结构如下:第2节介绍三种模型,给出本文提出的新模型,并对四种模型进行了理论分析;第3节给出实验数据,并对四种模型在计算时间方面做进一步分析;最后为结论和展望。
2四种模型及其理论分析
本文选择实现的三种模型都利用离散对数的难解性实现秘密份额的保护和验证,而用不同的方法实现了秘密分发和秘密恢复,因此能够更好地分析出多秘密共享模型中,由于秘密分发与秘密恢复方法的不同,对整体方案在公开值、时间复杂度等方面的影响。
2.1Z模型
此模型在YCH模型的基础上进行改进,考虑到成员欺骗问题,添加了验证,不需要单独开设安全信道。
而秘密分发与秘密恢复方法与YCH模型中提出的方法基本相同。
方案中p1,p2,…,p k为k个待保护的秘密。
M1,M2,…,M n为n个参与秘密共享的成员。
D为秘密分发者。
具体方案如下:
2.1.1 初始化阶段
D选择两个强素数p和q,计算N=pq;在[N1/2,N]中随机选择一个整数g(g与p,q互素);发布{g,N}。
每个M i在[2,N]中随机选择一个整数s i作为自己的秘密份额,计算R i= g si mod N,并将R i和标识号ID i 传送给D。
D必须保证R i≠R j(M i≠M j),否则D要通
知M i 重新选择秘密份额,直到所有R i 都符合条件以后,发布{(ID i ,R i )}。
2.1.2 秘密分发阶段
1) D 在[2,N ]中随机选择一个整数s 0,s 0与p -1和q -1互素。
s 0×f = 1 mod Φ(N ),计算f ;
2) 计算R 0=g s 0 mod N ,计算I i = R i s 0mod N ,(i=1,2,…,n );
3) 公布{R 0 ,f },当k ≤t 时随机选择素数Q ,随机在[0,Q ]中选择整数a 1,a 2,…,a t -k 。
用p 1,p 2,…,p k ,a 1 ,a 2,…,a t -k 做系数,构造t -1阶多项式如下:
h(x)= p 1+p 2x +…+p k x k -1+a 1x k +a 2x k +1+…+a t -k x t -1 mod Q ⑴
计算y i =h (I i )mod Q (i =1,2,…,n );公布{y 1,y 2,…,y n }。
当k >t 时随机选择大于N 的素数Q ,用p 1,p 2,…,p k
做系数构建k -1阶多项式:
h (x )= p 1 + p 2x +…+p k x k -1 mod Q ⑵ 计算y i =h (I i ) mod Q (i = 1,2,…,n ),计算h (i )mod Q (i =1,2,…,k -t ),公布{ y 1,y 2,…,y n , h (1),h (2),…,h (k -t )}。
2.1.3 秘密恢复和验证阶段
1) M i 计算I ’i = R 0si mod N ,作为自己的子秘密; 2) 每个参与秘密恢复的成员都可以验证其他参与成员给出的子秘密是否有效,如果I ’i f = R i mod N 说明I ’i 为有效,否则M i 可能有欺骗行为。
3) 当k ≤t 时,通过(I ’i ,y i )构建插值函数如下:
11,'()mod ''t t
j
i
i i j j j i Q x I h x y I I ==≠-=-∑∏
⑶ = p 1+p 2x +···+p k x k -1+a 1x k +a 2x k +1 + ···+a t-k x t -1 mod Q 当k >t 时,通过(I ’i ,y i )和(i ,h (i ))构造插值函数
如下:
11,'()mod ''t
t
j
i i i j
j j i x I h x Q y I I ==≠-=-∑∏
11,()mod k t
k t i j j i x j
h i Q i j
--==≠-+-∑∏ ⑷
= p 1 + p 2x +···+p k x k -1 mod Q
2.2 H 模型
此模型秘密分发阶段将秘密作为插值点构造
n +k -t 次lagrange 插值多项式,秘密合成阶段再次使用lagrange 插值多项式将k 个秘密恢复出来。
模型
子秘密验证和安全信道问题的解决方法与Z 模型相同。
p 1,p 2,…,p k ,M 1,M 2,…,M n ,D 的意义也同Z 模型[10]。
DC 为秘密恢复者。
2.2.1 初始化阶段
D 选择两个强素数p 和q ,计算N =pq ;随机选择一个大于N 的素数Q ;在[N 1/2,N ]中随机选择一个整数g (g ≠p ,g ≠q );发布{g ,N ,Q }。
每个M i 在[2,N ]中随机选择一个整数s i 作为秘密份额,并计算R i =g si mod N ;在[k ,Q-1]中随机选取ID i 作为身份标识,并把R i 和ID i 发送给D 。
D 要确保R i ≠R j (M i ≠M j ),否则D 通知M i 重新选择秘密份额,发布{R i ,ID i }。
2.2.2 秘密分发阶段
1) D 在[2,N ]中随机选取s 0 ,s 0与p -1和q -1互素,计算R 0=g s 0 mod N ;
2) s 0×f = 1 mod φ(N ),I i = R i s 0 mod N ,D 计算f 和I i ,公布{f,R 0}; 3)用(0,p 1),(1,p 2),…,(k -1,p k ),(ID 1,I 1), (ID 2,I 2),…,(ID n ,I n )构造n +k -1阶多项式:
h (x ) = a 0 + a 1x +…+a n+k -1x n+k -1 mod Q ⑸ 4) 在[k ,Q -1]-{ID i |i =1,2,…,n }中依次选取n +k -t 个最小的素数d 1,d 2,…,d n +k -t ,计算并发布{h (d 1),h (d 2),…,h (d n +k -t )}。
2.2.3 秘密恢复阶段
1) 每个参与秘密恢复的成员计算I ’ i =R 0si mod N ,作为子秘密,并将I ’ i 发送给DC ;
2) 子秘密验证阶段与Z 模型[11]相同。
3) DC 用与秘密分发阶段相同的方法选取n +k -t
个最小的素数d 1,d 2,…,d n +k -t ,利用(d 1,h (d 1)),(d 2,h (d 2)),…, (d n +k -t ,h (d n +k -t )),(ID 1,I’1),(ID 2, I’ 2),…,(ID t ,I’ t )构造lagrange 插值多项式如下: 1
1,()mod n k t
n k t
j
i
i j j i j
x d h x Q y d d i +-+-==≠-=
-∑
∏ 1
1,'mod '''t
t
j
i
i i
j j j i x I Q I I I ==≠-+-∑∏ ⑹ = a 0 + a 1x +…+a n +k -1x n +k -1 mod Q
4) 计算p i =h (i -1) mod Q ( i =1,2,…,k )。
2.3 D 模型
该模型在秘密分发阶段运用齐次线性递归,将k 个秘密与递归数列联系在一起,在秘密合成阶段
通过lagrange 插值得到辅助方程,将递归数列和k 个秘密恢复出来。
模型中验证阶段和安全信道问题同Z 和H 模型的解决方法相同,M 1 ,M 2 ,…,M n ,D 的意义也与Z 和H 模型相同。
P 1, P 2,…,P k 为k 个秘密。
2.3.1 初始化阶段
D 选择两个强素数p 1和p 2,计算 p 1, p 2;在[N 1/2,N ]中选择一个整数g ,g 的阶为素数p (p <N );选择整数α≠0,构造辅助方程:
(x-α)t = x t + a 1x t-1 + … + a t = 0 ⑺ D 选择素数q (q<p<N , q>a i (i =1,2,…,t )),发布{N , g , q ,α}。
每个M i 在[2,N ]中随机选择整数s i 作为秘密份额,计算R i =g si mod N ,并将(R i ,i )传送给D 。
D 要确保R i ≠R j (M iz ≠M j ),否则通知M i 重新选择秘密份额,发布{R 1,R 2,…,R n }。
2.3.2 秘密分发阶段
1) D 随机选择一个整数f ,f 和Φ(N )互素,计算s 0使其 满足s 0f = 1 mod Φ(N )。
2) 计算R 0=g s 0 mod N ,计算I i =R i s 0mod N (i =1,2,…,n )。
3) 构造齐次线性递归方程组:
{
11201-11····
··0mod (0)t
t i t i t t i u u u I I I q i u a u a u ++-===+++=≥,, ⑻
4) 计算u i (t ≤i ≤n +k )。
5) 计算y i =I i - u i -1 (t <i ≤n ),r i =P i -u i+n (1≤i≤k )。
6) 发布 {R 0,f ,r 1,r 2 ,…,r k ,y t+1,y t +2,y n }。
2.3.3 秘密恢复阶段
1) 参与秘密恢复的成员M i (i ∈I )计算I i = R 0si
mod N (i ∈I ),则根据方程组:
1(1)()i i i i i t I
u t i n y I --
≤≤⎧=⎨<≤⎩ ⑼ 计算出相应的t 个u i (i ∈I )。
2) 用(i -1,u i -1/αi-1)(i ∈I )构造lagrange 插值多项式如下:
11,1
()mod t
i
i i j I j i x j u p x q i j
α-=∈≠-+-=∑∏ ⑽
=11011mod t t q x x A A A --++⋯+
3) 计算u j = p (j )α
j
mod q (j ≥ t ),P i = u i+n + r i
(1≤ i ≤k )。
2.4 本文模型
在该模型中,每个成员自己生成秘密份额,不
需要安全信道。
秘密分发阶段构造一个t -1次的多项式,秘密合成阶段利用lagrange 插值公式将k 个秘密同时合成出来。
p 1,p 2,…,p k ,M 1 ,M 2 ,…,M n ,D 的意义与Z 模型相同。
2.4.1 初始化阶段
D 选择两个强素数p 和q ,计算N=pq ;随机选择大于N 的素数Q ;在[N 1/2 ,N ]中随机选择整数g (g ≠p ,g ≠q );发布{g ,N ,Q }。
每个M i 在[2,N ]中随机选择一个整数s i 作为秘密份额,并计算R i =g si mod N ;把R i 发送给D 。
D 要确保R i ≠R j (M i ≠M j ),否则D 通知M i 重新选择秘密份额,发布{R i }。
2.4.2 秘密分发阶段
1) D 在[2,N ]中随机选取s 0,s 0与p-1和q -1互素,计算R 0=g s 0 mod N ;
2) s 0×f =1mod φ(N ),I i = R i s 0 mod N (i =1,2,…,n ),D 计算f 和I i ,公布{f ,R 0};
3) 随机选取a 0,a 1 ,…,a t -1 ,并构造t -1阶多项式如下:
h (x ) = a 0 + a 1x +…+a t -1x t -1 mod Q ⑾
4) 计算h (i ) (i =1,2,…,n +k )。
5) 计算y i = I i – h (i )(i =1,2,…,n );计算r i =p i
–h (i+n )(i =1,2,…,k ),发布{y i ,r i }。
2.4.3 秘密恢复阶段
1) 参与秘密恢复的成员M i (i ∈I )计算I ’i = R 0si
mod N ,并将其作为子秘密;
2) 每个M i (i ∈I )都可以验证其他参与成员给出的子秘密是否有效,如果I ’i f = R i mod N 说明I ’i 有效,否则M i 可能有欺骗行为。
3) 计算h (i )= I i -y i (i ∈I ),利用t 对(i ,h (i ))构造lagrange 插值多项式如下:
1
1,()mod 't
t
i
i j j i x j
h x Q I i j
==≠-=-∑∏ ⑿ = a 0 + a 1x +…+a t -1x t -1 mod Q
4) 计算p i = r i + h (i+n ) mod Q (i =1,2,…,k )。
2.5 分析与比较
考察一个可验证多秘密共享模型的优劣可从以下几个方面考虑:⑴ 计算时间;⑵ 公开值个数;⑶ 是否为可重用模型;⑷ 是否能同时恢复所有秘
密;⑸是否能检测出成员欺骗;⑹是否能检测出秘密分发者欺骗;⑺秘密份额的分发是否需要构造安全通道。
具体分析如表1所示。
表1. 性能分析
Z模型H模型D模型本文模型
可重
用模
型
是是是是
同时
恢复
所有
秘密
是是是是
检测
成员
欺骗
是是是是
检测
分发
者欺
骗
是是是是
需要
安全
信道
不需要不需要不需要不需要
公开值个数3n+2
(k≤t)
3n+2 2n+k+6 2n+k+5 3n+k-t+2
(k>t)
时间复杂度秘
密
分
发
O(n×t)
(k≤t)
O((n+k-t)×(n+
k)2)
O((n+k-t)
×t)
O((n+k)
×t) O((n+k-t)
×k) (k>t)
秘
密
合
成
O(t3)
(k≤t)
O(k×(n+k) 2) O(k×t2) O(k×t2) O(k3)
(k>t)
通过表1可以看出当n<k时,Z模型和H模型
的公开值个数较少,当n>k时,D模型和本文模型的公开值个数较少,且此时本文模型更优于D模型。
D模型秘密分发阶段的时间复杂度最小,H模型在秘密分发阶段的时间复杂度最大。
在秘密合成阶段D模型和本文模型的时间复杂度最小。
当t值很大时,Z模型的秘密合成时间复杂度最大,当n值和k值很大时,H模型秘密合成时间复杂度最大。
3实验与讨论
实验环境为Lenovo QiTianM6900;CPU:Inter Core 2 Duo,E7500 2.93GHz;内存:2038MB RAM;编程工具为Microsoft Visual Studio 2008。
分别考察成员个数(n)、门限值(t)和秘密个数(k)对四种模型的秘密分发时间(TD)和秘密恢复时间(TR)的影响,并进一步分析四个模型在计算时间方面的性能。
Fig.1 secret distrubiting time, t=5,k=5
图1 秘密分发时间,t=5 k=5
Fig.2 secret recovering time, t=5 k=5
图2 秘密恢复时间,t=5 k=5
首先,分析成员个数n对秘密分发时间和秘密合成时间的影响。
图1给出了此情况下的四种模型的秘密分发时间曲线,可以看出随着n的增加,Z模型、D模型和本文模型秘密分发时间缓慢增加。
H模型的秘密分发时间迅速增加。
Z模型、D模型和本文模型在此情况下秘密分发时间基本相同,且均好于H模型。
图2给出了成员个数n对秘密恢复时间的影响
曲线。
由于k和t不改变,Z模型、D模型和本文模型的秘密合成时间基本不变。
此时,t和k的值相同,Z模型、D模型、本文模型的秘密合成时间大致相同,且均好于H模型。
综合对图1和图2的分析,在t和k不变且数值较小时,n变换时,Z模型,D模型,本文模型表现较好,H模型表现较差。
Fig.3 secret distrubiting time,k=5 n=50
图3 秘密分发时间,k=5 n=50
Fig.4 secret recovering time,k=5 n=50
图4 秘密恢复时间,k=5 n=50
其次,考察门限值t对秘密分发时间与秘密合成时间的影响。
通过图3可以看出,随着t的增加,Z模型和本文模型秘密的分发时间缓慢增加,H模型的秘密分发时间迅速下降。
开始时由于辅助计算的增多,D模型秘密分发时间缓慢上升,后来随着t的增加又缓慢下降。
当门限值t的值小于40时,D模型所用秘密分发时间最少,此后顺次为本文模型、Z模型和H模型。
由于H模型的秘密分发时间随t的增加逐渐减少,当t值增加到40后,所用秘密分发时间逐渐少于Z模型,而t达到43左右,所用秘密分发时间逐渐少于本文模型。
图4展示了门限值t对秘密恢复时间的影响。
可见随着t的增加,D模型和本文模型的秘密合成时间逐渐增加。
此时t≥k,Z模型的时间复杂度为O(k3),随着t的增大,Z模型秘密合成时间增加。
从时间复杂度分析,Z模型所用秘密合成时间的增加幅度应该与D模型和本文模型基本相同。
但实际上Z模型的秘密合成时间随着t的增加大幅度增加,原因是,Z模型在秘密合成阶段需要求解方程组来得到k个秘密,而系数矩阵中有t组行向量为(0,I i,…,I i t-1),因此随着t的增加需要求解的大数幂方增加,Z模型的秘密合成时间会大幅度增加。
从时间复杂度分析,在n和k不变时,H模型的秘密和成时间应该保持不变,但实际上随着t的增加H 模型的秘密合成时间也逐渐增加。
其原因是,在秘密合成阶段需要t个ID i和n+k-t个d i作为插值点的x分量,x分量要进行大量的乘法运算,而ID的值要远远大于d的值,因此,t的增加使得H模型的秘密合成时间增加。
当t<25时,本文模型的合成时间最少,其次为D模型,再次为H模型,但由于H 模型增加幅度较缓慢,在t>25后合成时间少于D 模型,在t>45后合成时间少于本文模型。
综合对图3和图4的分析,在k和n不变,t 变化时,D模型和本文模型表现较好,H模型和Z 模型分别在秘密分发阶段和秘密合成阶段所用时间最多。
Fig.5 secret distrubiting time,t=5 n=50
图5 秘密分发时间,t=5 n=50
Fig.6 secret recovering time,t=5 n=50
图6 秘密恢复时间,t=5 n=50
最后,讨论秘密个数k对秘密分发时间与秘密合成时间的影响,结果分别如图5和图6所示。
从图5可以看出,随着k的增加,D模型和本文模型的秘密分发时间以极小的幅度增加。
Z模型的分发时间相对前两种模型,增加幅度较大。
此时n值很大,H模型所用的分发时间在开始时就达到400ms左右,随着k逐渐增加,H模型的秘密分发时间增加幅度非常大。
从时间复杂度分析,当k≤t 时,Z模型秘密分发的时间应该少与本文模型,但实际上本文模型所用的分发时间较少。
原因是,在分发阶段Z模型需要计算h(I i),属于大数,计算开销较大,而本文模型只需计算h(i)即可。
从图6中可以看出,随着k的增加,D模型和本文模型的秘密合成时间都增加的非常缓慢,仅由辅助计算的增加引起了合成时间的增加。
H模型的增加幅度略比D模型和本文模明显。
由于此时k≥t,Z模型的时间复杂度为O(k3),随着k的增大,Z模型秘密合成时间大幅度增加。
从时间复杂度分析,Z模型在此情况下的合成时间曲线应该与仅t变化时秘密合成时间曲线相同。
但实际上,显然当前情况下秘密合成时间较少。
原因同样是I i的幂方的计算引起的,在此情况下由于t值很小,大数幂方的计算相对较少,因此所用的合成时间与t变化时相比明显减少。
综合对图5和图6的分析,此情况下D模型和本文模型表现较好。
H模型和Z模型分别在秘密分发和秘密合成阶段所用时间最多。
从以上分析中不难看出,H模型和Z模型都不稳定,都会出现计算时间最多的情况,不是适合于实际应用的模型。
在任何情况下,D模型和本文模型下的秘密分发时间和合成时间都相对较少,属于稳定性较好的模型。
在秘分发阶段,D模型和本文模型所用时间基本相同,仅当t值很大时,本文模型的秘密分发时间大于D模型,但在实验范围内,稳定在200ms之内,仍然好于其他两种模型。
而在秘密合成阶段,本文模型所用时间均少于D模型。
在秘密分发阶段,由于有秘密分发者参与,硬件配置较好,而在秘密合成阶段秘密分发者无法参与,考虑到成员组件本身的硬件制约以及秘密恢复的紧急性要求,秘密恢复阶段的计算时间应为考虑的重点。
因此从计算时间上考虑,在上述四种模型中,本文模型为最优模型。
4结束语
随着多秘密共享的迅速发展,亟需对原有模
型在公开值、可验证性、计算时间等方面进行对
比分析,并提出一种更适合于实际应用的优质模型。
本文实现了三种已有的可验证多秘密共享模型,基于Shamir秘密共享提出并实现了一个新的(t,n)可验证多秘密共享模型。
对四种模型在公开值、可验证性、时间复杂度等方面进行了理论分析,新模型在n>k时需要的公开值最少,且秘密
合成阶段的时间复杂度仅为O(k×t2),好于H模
型和Z模型。
通过实验模拟对四种模型,并分析
四种模型秘密分发时间与秘密恢复时间随着n、t
和k的改变而变化的情况。
分析结果表明新模型
在秘密恢复阶段所用计算时间最少,在实验范围
内秘密分发时间也能稳定在200ms之内,仅在t
值很大时,秘密分发时间多于D模型。
实验验证
了新模型在计算时间方面优于其他三种模型。
下一步将研究动态的多秘密共享方案,即参
与者集合可以动态变化,而无需重新分配秘密份
额仍能保证秘密共享模型的可用性和安全性的
方案。
参考文献:
[1] A.Shamir, How to share a secret, Communications of the ACM
22 (11) (1979) 612-613.
[2]G.Blakley, Safeguarding cryptographic keys, Proc.AFIPS 1979
National Computer Conference, AFIPS Press, New York, 1979,pp. 313-317.
[3]刘木兰,张志芳著。
秘密共享体制和安全多方计算。
电子工
业出版社2008年2月第一版。
[4]Blundo C.,De Santis A.,Di Crescenzo G.,Giorgio Gaggia
A.,Vaccaro U. Multi-secret sharing schemes, Advances in
Cryptology –CRYPTO’94,Y.G.Desmedt,ed.,Lecture Noters in Comuputer Science 839, pp.(1994),150-163.
[5]W.-A.Jackson, K.M. Martin, C.M. O’Keefe, On sharing many
secrets, Asiacrypt’94 917 (1994) 42-54.
[6]J. He, E. Dawson, Multistage secret sharing based on one-way
function, Electronics Letters 30 (19) (1994) 1591-1592..
[7]L. Harn, Comment: Multistage secret sharing based on one-way
function, Electronics Letters 31 (4) (1995) 262.
[8]T.-Y.Chang, M.-S.HWang, W.-P.Yang, A new multi-stage secret
sharing scheme using one-way functiont.Operating Systems Review,39 (1) (2005) 48-55.
[9]H.-Y. Chien, J.-K. Jan, Y.-M. Tseng, A practical (t,n)
multi-secret sharing scheme, IEICE Transactions on Fundamentals E83-A (12) (2000) 2762-2765.
[10] C.-C. Yang, T.-Y. Chang, M.–S. Hwang, A (t,n) multi-secret
sharing scheme, Appl. Math. Comput. 151(2)(2004) 483-490. [11]L.-J. Pang, Y.-M., Wang, A new (t,n) multi-secret sharing
scheme based on shamir’s secret sharing, Appl. Math. Comput.
167 (2) (2005) 840-848.
[12]J.Zhao, J.Zhang, R.Zhao, A practical verifiable multi-secret
sharing scheme, Compter standards & interfaces 29 (1) (2007) 138-141.
[13]贺军,李丽娟,李喜梅。
一种新的可验证多秘密共享方案.
计算机工程35 (9) (2009) 119-120。
[14]M.H.Dehkordi, S.Mashhadi, New efficient and practical
verifiable multi-secret sharing schemes, Information Sciences 178 (9) (2008) 2262-2274.
创新性说明:
1.分析了已有的三种不同的可验证多秘密共享方案。
2.提出并实现了一种新的可验证多秘密共享方案。
3.从理论上对四种模型进行分析,讨论各个模型在公开值、可验证性、时间复杂度等方面的性能。
4.通过大量的试验,证明了新模型在计算时间方面的先进性。
投稿声明:
作者保证(1)该论文为其原创作品并且不泄漏国家秘密、不侵权;(2)本论文对所引用他人的成果已经在文中引用处加以明确说明并已注明出处; (3)该论文没有一稿多投。