【摘要】:所谓盲签名是指签名人只是完成对文件的签名工作,并不了解所签文件的内容。图7.1盲签名的原理盲签名与普通签名相比有两个显著的特点:签名者不知道所签署的数据内容;在签名被签名申请者泄露后,签名者不能追踪签名。1983年,Chaum基于RSA公钥密码系统,首次提出基于因子分解问题的盲签名方案,该方案可用于电子支付系统。设用户A要把消息M发送给B进行盲签名,e是B的公钥,d是B的私钥,n是模。
盲签名是由David Chaum于1983年提出的。盲签名在数字现金、电子投票等领域都有较大的应用价值,特别是目前的数字现金,大部分都是采用盲签名的原理实现的。所谓盲签名是指签名人只是完成对文件的签名工作,并不了解所签文件的内容。而普通的签名都是签名人对所签文件内容是知道的。盲签名的原理可用图7.1表示。
图7.1 盲签名的原理
盲签名与普通签名相比有两个显著的特点:(1)签名者不知道所签署的数据内容;(2)在签名被签名申请者泄露后,签名者不能追踪签名。为了满足这两个条件,申请者首先将待签数据进行盲变换,把变换后的盲数据发给签名者,经签名者签名后再发给申请者。申请者对收到的消息进行去盲变换,得出的便是签名者对原数据的盲签名,这样便满足了条件(1)。要满足条件(2),必须使签名者事后看到盲签名时不能与盲数据联系起来,这通常是依靠某种协议来实现的。
1983年,Chaum基于RSA公钥密码系统,首次提出基于因子分解问题的盲签名方案,该方案可用于电子支付系统。下面介绍这一算法。
设用户A要把消息M发送给B进行盲签名,e是B的公钥,d是B的私钥,n是模。
(1)A对消息M进行盲化处理:他随机选择盲化整数k,1<k<M,并计算
(2)A把T发给B。(www.daowen.com)
(3)B对T签名:
(4)B把他对T的签名发给A。
(5)A通过计算得到B对M的签名。
这一算法的正确性可简单证明如下。
因为Td=(Mke)d mod n=Mdk mod n,所以Td/k mod n=Md mod n,而这恰好是B对消息M的签名。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关安全协议(第2版)的文章