理论教育 安全协议第2版:知识签名及特点

安全协议第2版:知识签名及特点

时间:2023-10-28 理论教育 版权反馈
【摘要】:知识签名从本质上来看是一种非交互式的零知识证明或最小泄露证明。定义1:满足等式c=H的数组(c,s),即为关于消息m的y以g为底的离散对数的知识签名,表示为其中,希腊字母α表示签名持有的秘密。由此就相当于一个关于离散对数e次方根的知识签名,在e较小时这是一个比较高效的签名。

安全协议第2版:知识签名及特点

知识签名实际上是一种数学构造,签名者通过这种数学方法,可以在不泄露秘密的情况下向其他人证明他知道这个秘密。知识签名从本质上来看是一种非交互式的零知识证明或最小泄露证明。这里将简单介绍几种知识签名的定义。

令符号‖表示二进制串连接符,′′表示空字符,c[i]表示参数c中第i个比特,另有安全Hash函数H:{0,1}*→{0,1}k

定义1:满足等式c=H(m‖y‖g‖gsyc)的数组(c,s),即为关于消息m的y以g为底的离散对数的知识签名,表示为

其中,希腊字母α表示签名持有的秘密。

这样一个知识签名(c,s)只有在知道秘密x=loggy的情况下才能生成,当知道x的值时,签名者随机选取r∈Z*n,然后进行计算

得到签名(c,s),能生成这样一个签名说明了签名者知道y以g为底的离散对数x,不知道x的情况下任何人想伪造一个签名都必须能够解决离散对数问题,所以这样一个知识签名可以证明y是由某个以g为底的离散对数x生成gx,并且签名者知道关于y=gx的秘密值x。

定义2:满足等式c=H(m‖y‖g‖h‖gs1 hs2 yc)的数组(c,s1,s2),即为关于消息m的y以g、h为底的离散对数的知识签名,表示为(www.daowen.com)

只有知道满足等式y=gs1 hs2的秘密值(x1,x2)才能生成这样一个知识签名(c,s1,s2),当知道(x1,x2)时,签名者随机选取r1,r2∈Z*n,然后进行计算

得到签名(c,s1,s2),由于任何不知道(x1,x2)的人都无法生成签名(c,s1,s2),所以这样一个签名可以证明y有着y=gs1 hs2这样的形式,并且签名者知道秘密值(x1,x2)。

定义3:满足等式c=H(m‖y‖g‖h‖hszc‖gsyc)的数组(c,s),是一个关于消息m的y以g为底和z以h为底的离散对数的知识签名,这种知识签名表示为

签名者在知道密钥x=loggy=loghz的情况下可以生成签名(c,s),他首先选取随机数r∈Z*n,然后进行计算

得到签名(c,s),这种知识签名除了能说明签名者拥有密钥x以外,还说明了密钥x有x=loggy=loghz,即y以g为底的离散对数与z以h为底的离散对数是相等的。

定义6:如果一个签名者在不知道h以g为底的离散对数的情况下,能给出签名E-SKROOTREP[(α,β):v=hαgβe](m)和SPKEP{γ:z=gγ}(m),则可以认为签名者给出了关于消息m的z以g为底的离散对数的e次方根的知识签名,表示为:E-SKROOTLOG[δ:z=gδe](m),因为签名者不知道h以g为底的离散对数时能给出两个签名,说明z=hαgβe中的指数α=0。由此就相当于一个关于离散对数e次方根的知识签名,在e较小时这是一个比较高效的签名。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈