盲签名可以看成结合普通签名的变种,实现特殊的应用。RSA方案简单易解,实际代码工程是要有额外一些处理的,可能需要填充等。
上一篇介绍了sigma协议的扩展,我们看到窥探出签名机制的发展一些线索,虽然签名已经介绍了很多常用算法,但还有一些特殊应用场景的签名没有提及,例如盲签名,区块链隐私项目Monero用到的环签名等,不同的是,这些不是独立,自成体系的,而是依赖于之前签名基础,套件等组合变换等实现。
本文重点介绍盲签名机制,虽然目前在区块链中暂时还没看到应用,如果你看到请告诉我!
盲签名与一般的数字签名不同,一般的数字签名思想是产生一串仅发送者能够产生的别人无法伪造的数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。不同的是,盲签名的签名者是不知道其所签名消息的具体内容,仅在未来某一时刻(以公证人的身份)证明签名的真实性。
具备以下性质:
注意这里省略了一般签名的性质(不可伪造性和不可抵赖性)。
一般签名过程的角色只有一个签名者,但是盲签名中不能是同一个角色,因为原始消息必须由另外一个提供者进行盲化处理,称为签名消息的接收者。总体过程:
流程上要保证满足盲签名的两条性质,必须使签名者事后看到盲签名时不能与盲数据联系起来。
具体工程实现可以多种,下面介绍与RSA结合的方案!
假设A是接收者,B是签名者,私钥d, 并公开RSA公钥(n,e), A让B盲签消息m,流程:
易证其正确性,不再赘述(关于RSA详细内容参考历史文章)!
盲签名可以看成结合普通签名的变种,实现特殊的应用。RSA方案简单易解,实际代码工程是要有额外一些处理的,可能需要填充等。
好了,下一节继续介绍Monero项目用到的环签名原理!
原文链接:https://mp.weixin.qq.com/s/gjmWhFVBpVrbW_wCd7UucA 欢迎关注公众号:blocksight
区块链中的数学 - sigma协议OR Proof&签名 sigma协议的扩展--OR proof
区块链中的数学-sigma协议与Fiat-Shamir变换 sigma协议与Fiat-Shamir变换
区块链中的数学 - 何谓零知识证明? 何谓零知识证明
区块链中的数学 - RSA累加器的非成员证明 RSA Accumulator非成员证明以及区块链应用
区块链中的数学 - Accumulator(累加器) 累加器与RSA Accumulator
区块链中的数学 - Kate承诺batch opening Kate承诺批量证明
区块链中的数学 - 多项式承诺 多项式知识和承诺
区块链中的数学 - Pedersen密钥共享 Pedersen 密钥分享
区块链中的数学 - Pedersen承诺 密码学承诺--Pedersen承诺
区块链中的数学 - 不经意传输 不经意传输协议
区块链中的数学 - RSA算法加解密过程及原理 RSA加解密算法
区块链中的数学 - BLS门限签名 BLS m of n门限签名
区块链中的数学 - BLS密钥聚合 BLS密钥聚合
Schorr 签名基础篇 Schorr签名与椭圆曲线
区块链中的数学-Uniwap自动化做市商核心算法解析 Uniwap核心算法解析(中)
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!