数字签名是互联网中保证数据真实性和完整性的重要技术手段,主要功能是对数据进行认证和验证,被广泛应用于各种场景。但在数字签名中还有一种比较特殊的存在,它就是我们今天的主角——盲签名。
盲签名的简介
盲签名的概念首先由 David Chaum 于1982年提出,它是一种特殊的数据签名,最主要的特点就是“盲”,它可以有效地保护所签署消息的具体内容,在电子商务和电子选举等领域有着广泛的应用。
盲签名实现了签名者对发送者的消息进行签名,却不能知道签名者消息的具体内容。简单来说就是将文件放入带有复写纸的信封,签名者在信封上对文件进行签名而不知道文件的具体内容。
盲签名的原理
盲签名允许消息者先将消息盲化,而后让签名者对盲化的消息进行签名,最后消息拥有者对签字除去盲因子,得到签名者关于原消息的签名。盲签名除了满足一般的数字签名条件外,还必须满足下面的两条性质:
- 签名者对其所签署的消息是不可见的,即签名者不知道他所签署消息的具体内容。
- 签名消息不可追踪,即当签名消息被公布后,签名者无法知道这是他哪次的签署的。
盲签名的过程
- 系统初始化:产生盲签名方案中的所有系统参数;
- 密钥对生成:产生用户的私钥和公钥;
- 签名:用户利用签名算法对消息签名,签名过程可以公开也可以不公开,但一定包含仅签名者才拥有的私钥;
- 盲化:用户将盲化因子注入待签名的消息;
- 盲签名:签名者对盲化过的消息进行签名;
- 去盲:用户从盲化签名(对盲化过的消息)去除盲化因子,获得去盲后的签名(待签名消息);
- 验证:验证者利用公开的系统参数、验证方法和签名者的公钥对给定消息的签名进行验证。
盲签名的性质
一个盲签名除了满足一般的数字签名性质外,还需要满足下面的4个性质:
- 盲性:签名者对其所签署的消息是不可见的,即签名者不知道他所签署消息的具体内容。
- 不可伪造性:除了签名者本人外,在没有私钥的情况下,任何人都不能以他的名义生成有效的盲签名。
- 不可跟踪性:当签名消息被公布后,签名者无法知道这是他哪次的签署的,既使保存了他所签的每一个盲签名的记录。
- 不可抵赖性:签名者一旦签署了某个消息,他无法否认自己对消息的签名。
免责声明:素材源于网络,如有侵权,请联系删稿。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。