0x00 写在前面
研究门罗币有段时间了,之前对其中的基本技术做了一些简单的介绍,今天来对其中的环签名做详细的解释,包括起源、发展和最新的进展,算是一个详细的科普文。环签名,区别于一般签名机制的是它选取了一堆其他人的公钥来对原始签名者的身份进行隐藏,使得验证者验证签名后可以确定是一堆公钥中某一个人产生的,但无法确定具体签名的人的身份。
0x01 How to Leak a Secret
这可以算是现在环签名思想上一篇元老级的论文了,发表于2001年的ASIACRYPT。其实在这之前也有类似的签名出现,例如1991年EUROCRYPT上的一篇《Group Signature》,但是这个Group signature却包含一个Group manager,签名者必须信赖这个manager,因为只有这个manager可以追溯签名者的身份,同时这也就造成了信任的问题,如果manager被攻击或者它本身就是恶意的,那么这个签名也就变得毫无意义。所以最新的环签名机制几乎全部抛弃了这个中心化的manager机制,为了和原来进行区别现在的环签名前面全部加上了Spontaneous(自发的,也就是不需要中心机构管理)这个词。
为了给这篇文章一个良好的动机,作者Ronald L. Rivest还给我们编造了一个优美的无中生有的情景故事:假设Bob是某个Lower Keyptonia(没有翻译器能翻译出的某国家名字)的一位内阁大臣,某天他偶然撞见发现首相做了某些不可描述的事并准备叛逃,为了国家的安全着想,他打算将这个消息告诉记者,但是又不想记者知道是他泄的密,防止被灭口,但同时由于消息太过于震惊毕竟涉及到国家的命运,记者也必须要确定这消息是某位位高权重的人透露出来的。由于这双方面的要求,Bob就无法使用一般的签名(假设那个时候电子数字签名已经普及世界),此时一个很好的方式就是本文提出的环签名技术。
0x0101 陷门置换(Trapdoor permutation)
0x0102 组合函数
0x0103 签名
0x0104 签名验证
0x0105 小结
从上述签名过程可以看出,环签名的思想主要就是一个可以循环计算的函数,缺少其中一项都能用其它已知项计算出来,而应用的时候需要计算的就是签名者真正对应的那一项,然后就是用随机选择的项进行混淆,从而达到隐藏签名者身份发目的。
0x02 Linkable Spontaneous Anonymous Group Signature (LSAG) for Ad Hoc Groups
相对于上一篇的环签名技术,本篇文章最大的不同就是添加了一个新的属性:Linkability,也就是通过两个不同的签名可以判断它们是否由同一个人产生的。
0x0201 签名
0x0202 签名验证
0x0203 小结
这个签名相对于之前的机制优点是增加了linkability属性,也就是避免了同一个签名者使用同一组公钥多次进行签名,但是如果一组公钥每次都是重新随机选择,那么这个属性的价值也就变得微乎其微,因为选到同一组公钥的概率是指数次函数,当然作者提出这个新的属性自然有其应用领域,比如作者提出的电子投票系统。到如今Monero中同样引用了这样一个性质,这是作者万万没有想到的。
但是新的机制同样也有自己的缺点,首先是计算的复杂度明显增加了,多了很多次哈希运算;还有就是签名的长度也略有增长。
0x03 Linkable Ring Signature: Security Models and New Schemes
从这一篇开始后面所有的环签名相关的论文都是基于零知识证明,本篇的作者和前一篇是同一个人,时间上比前一篇晚一年,如题所说,最大的改变就是基于不同的安全模型。
0x04 Traceable Ring Signature
0x05 CryptoNote
这也是最新的环签名的应用领域之一,传送门请转门罗币基础技术介绍。
0x06 Ring Confidential Transactions
这个签名是门罗币最新的应用,相比于CryptoNote,增加了哈希的次数,但是减少了一半签名的长度,对于数字货币来说,这无疑就提升了很大的竞争力,因为签名的缩短不仅减轻了网络负载,同样还减小了交易的大小,对于按字节数来进行计算交易费的机制来说,也就减小了每笔交易的交易费。
相比于门罗币改进之前的版本,我们可以发现将原来随机选择的c用哈希来进行替代,从而减少了最终签名的长度,从结果上看这似乎很显而易见。那么我们能否用同样的原理将s也减少一半呢,这是个值得思考的问题。
参考文献
- Ronald L.Rivest 《How to Leak a Secret》
- Joseph K.Liu 《Linkable Spontaneous Anonymous Group Signature (LSAG) for Ad Hoc Groups》
- Joseph K.Liu 《Linkable Ring Signature: Security Models and New Schemes》
- E.Fujisaki and K.Suzuki 《Traceable Ring Signature》