盲签名允许消息者先将消息盲化,而后让签名者对盲化的消息进行签名,最后消息拥有者将签名除去盲因子,得到签名者关于原消息的签名。这是接收者在不让签名者获取所签署消息具体内容的情况下所采取的一种特殊的数字签名技术,它除了满足一般的数字签名条件外,还必须满足下面的两条性质。
•签名者对其所签署的消息是不可见的,即签名者不知道他所签署消息的具体内容。
•签名消息不可追踪,即当签名消息被公布后,签名者无法知道这是他哪次签署的。
关于盲签名,如果曾经给出了一个非常直观的说明。所谓盲签名,就是先将隐蔽的文件放进信封里,而除去盲因子的过程就是打开这个信封。当文件在一个信封中时,任何人不能读它。对文件签名就是通过在信封里放一张复写纸,签名者在信封上签名时,他的签名便透过复写纸签到文件上。
一般来说,一个好的盲签名应该具有以下的性质。
•不可伪造性。除了签名者本人外,任何人都不能以他的名义生成有效的盲签名。这是一条最基本的性质。
•不可抵赖性。签名者一旦签署了某个消息,他无法否认自己对消息的签名。
•盲性。签名者虽然对某个消息进行了签名,但他不可能得到消息的具体内容。
•不可跟踪性。一旦消息的签名公开后,签名者不能确定自己何时签署的这条消息。
满足上面几条性质的盲签名,被认为是安全的。
这4条性质既是我们设计盲签名所应遵循的标准,又是我们判断盲签名性能优劣的根据。
另外,方案的可操作性和实现的效率也是我们设计盲签名时必须考虑的重要因素。一个盲签名的可操作性和实现速度取决于以下几个方面:
•密钥的长度;
•盲签名的长度;
•盲签名的算法和验证算法。
推荐学习以下区块链文章: