参考文献为2004年发表的Short Group Signatures
什么群签名?
群签名大致就是由一组用户组成一个群,其中用户对某条消息的签名,改签名不会揭示是哪一个用户签署的,签名只能表明该消息确实是来自该群的签名。对于群还有一个群管理者,该管理者拥有系统私钥,就可以将用户的匿名性给取消即管理者可以知道该签名来自群中具体的那一个用户。在如今的现实生活中,群签名的应用场景还是很多的。例如,车联网。国产电车的崛起,许多电动车都有信号发射器,用来发送和接收信息。某一车辆,在驾驶时发现前方出现堵车需要减速慢行,车练就会发送该信息给附加车辆,避免造成事故发生。但这些信息可能包含车辆的位置和速度等个人信息,我们要避免在传递信息出现泄漏隐私的情况。此外,为了避免有些恶意车辆制造假消息,我们需要使用签名对该消息进行认证后才允许发送。这种情况,我们就可以使用群签名。
方案概括
本方案的签名大小更小长度低于200字节,并且安全性和长度相等的RSA一样。方案的底层数学难题是SHD问题以及在双线性群中的线性假设问题。系统基于一个新的零知识证明知识,利用零知识证明来证明某人知道SDH问题的解。
预备知识
SDH问题
我们说当我们给任何某人提供,这个人可以根据提供的信息求出的概率是可忽略的。
决策线性问题
简单的说当我们给任何某人提供,这个人可以根据提供的信息去判断的概率是可忽略的。如果一个算法可以解决决策线性问题在群中,那么就可以解决在该群中DDH问题。反之,则不成立。
由决策线性问题我们可以构造一个线性加密方案,不同于ElGamal加密,该方案能够在DDH问题被攻破的情况下依旧是安全的。加密方案大致如下:
初始化:从中随机选择三个生成元作为用户公钥,用户选择私钥满足
加密:用户随机选择