姓名:朱睿琦
学号:15180288015
参考:http://blog.csdn.net/win_in_action/article/details/39156579
http://wiki.mbalib.com/wiki/盲签名
【嵌牛导读】:一般的数字签名思想是产生一串仅发送者能够产生的别人无法伪造的数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。不同于一般数字签名,盲签名的签名者是不知道其所签名消息的具体内容,仅在某一时刻以公正人的身份证明签名的真实性。
【嵌牛鼻子】:数字签名,盲签名
【嵌牛提问】:盲签名会被用在什么场合?盲签名与一般数字签名的区别是什么?
【嵌牛正文】:盲签名(Blind Signature)定义:
是一种数字签名的方式,在消息内容被签名之前,对于签名者来说消息内容是不可见的.类比例子:对文件签名就是通过在信封里放一张复写纸,签名者在信封上签名时,他的签名便透过复写纸签到文件上。
盲签名(Blind Signature)性质:
它除了满足一般的数字签名条件外,还必须满足下面的两条性质:
①签名者对其所签署的消息是不可见的,即签名者不知道他所签署消息的具体内容。
②签名消息不可追踪,即当签名消息被公布后,签名者无法知道这是他哪次的签署的。
盲签名(Blind Signature)模型:
1接收者首先将待签数据进行盲变换,把变换后的盲数据发给签名者。
2经签名者签名后再发给接收者。
3接收者对签名再作去盲变换,得出的便是签名者对原数据的盲签名。
4这样便满足了条件①。要满足条件②,必须使签名者事后看到盲签名时不能与盲数据联系起来,这通常是依靠某种协议来实现的。
大致的图示如下:
盲签名协议包含如下几个步骤:
1、消息盲化。甲将原消息m进行盲化处理得m',然后将盲消息m'传送给乙。进行盲化处理的方法很多,例如,可随机选取某个数,称该随机数为盲因子,把原消息数值化后,与盲因子相乘即可得到盲消息。
2、对盲消息签名。乙应用通常的数字签名方法对耐进行签名,并将其签名sig(m')送给甲。
3、恢复签名。甲通过除去盲因子的方法,从盲签名sig(m')中得到相关原消息m的签名、sig(m')。将来出现纠纷时,当甲拿出乙的盲签名,而乙显然不能否认其签名,这样就可以证明原消息的真实性。
盲签名不仅保留了数字签名的各类特性,而且还拥有以下一些特殊的性质:
1、盲性。消息的内容对签名人来说是盲化的,签名人看不到消息的内容。
2、不可追踪性。签名者仅知sig(m'),而不知sign(m).即使签名者保留sig(m')及其他有关数据,仍难以找出、sig(m)和、sig(m')之间的内在联系,不可对消息m的拥有者进行追踪。
盲签名的背景:电子现金.
一般的签名,签名者对自己发出的签名,必须是记得的,比如,在何时何地对谁发的,他自己可以记下来。但是,如果把签名看作是电子现金的话,就涉及到一个匿名性的问题
用实际钞票的时候,钞票上有没有写你的名字?当然没有。那我也不希望,银行通过追踪自己发出签名,来获得用户的消费情况。于是就设计出盲签名。
盲签名算法是具有下列两个特性的数字签名算法
1. 消息的内容对签名者是不可见的
2. 在签名被接受者公开后,签名者不能追踪签名。