环签名指的是在r个公钥中隐藏自己拥有私钥的那个公钥,支持在区块链上隐藏交易发送人(地址/公钥)。
假定要签名的消息为m,s为签名者,其公钥为 ,私钥为 ,环成员数量为r( ),以及环成员的公钥{ , ,…, },签名者计算环签名如下:
计算环签名
- 获取对称加密秘钥:首先,签名者计算对称密钥k,即是要签名的消息m的散列:
(一个更复杂的计算k=h(m, ,…, );然而,上面更简单的计算也是安全的。) - 选择一个随机的粘合值v:其次,签名者从{0,1}中随机均匀地取v值。
- 选择随机数:,并且
- 计算:
通过假设,给定其它输入的任意值,对于满足方程的有一个唯一的值,该值可以有效地计算出来。 - 计算:
- 计算得到环签名:
消息m的环签名,是一个2r+1元组
验证
- 首先,对于i = 1,2,…,r为验证者计算
- 获取对称加密秘钥:首先,签名者计算对称密钥k,即是要签名的消息m的散列:
3.验证环签名
网友评论