【摘要】:以上方案有一定的缺陷:实时计算量、消息交换量和所需存储量较大。Schnorr提出一种安全性基于计算离散对数困难性的鉴别方案,可以做预计算来降低实时计算量,所需传送的数据量也减少许多,特别适用于计算能力有限的情况。B验证x=gyve mod p,若该等式成立,则认可A的身份合法。Schnorr建议t为72位,p大约为512位,q为140位。
以上方案有一定的缺陷:实时计算量、消息交换量和所需存储量较大。Schnorr提出一种安全性基于计算离散对数困难性的鉴别方案,可以做预计算来降低实时计算量,所需传送的数据量也减少许多,特别适用于计算能力有限的情况。
Claus Schnorr的认证方案的安全性建立在计算离散对数的难度上。为了产生密钥对,首先选定系统的参数:素数p及素数q,q是p-1的素数因子。p≈21024,q>2160,元素g为q阶元素,l≤g≤p-1。令a为GF(p)的生成元,则得到g=a(p-1)/q mod q。由可信赖的第三方T向各用户分发系统参数(p,q,g)和验证函数(即T的公钥),用此验证T对消息的签字。
对每个用户给定唯一身份I,用户A选定秘密密钥s,0≤s≤q-1,并计算v=g-s mod p;A将IA和v可靠地送给T,并从T获得证书,CA=(IA,v,ST(IA,v))。协议如下:
(1)选定随机数r,1≤r≤q-1,计算x=gr mod p,这是预处理步骤,可在B出现之前完成。
(2)A将(CA,x)送给B。
(3)B以T的公钥解ST(IA,v)实现对A的身份IA和公钥v的认证,并传送一个0到2t-1之间的随机数e给A;(www.daowen.com)
(4)A验证1≤e≤2t,计算y=(se+r)mod q,并将y送给B。
(5)B验证x=gyve mod p,若该等式成立,则认可A的身份合法。
安全性基于参数t,t要选得足够大以使正确猜对e的概率2-t足够小。Schnorr建议t为72位,p大约为512位,q为140位。
此协议是一种对s的零知识证明,在认证过程中没有暴露有关s的任何有用信息。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关安全协议(第2版)的文章