环签名(RSA Version)


环签名过程:

签名者Alice想要对消息m进行环签名,Alice首先选择一个包含r个环成员的集合{A1,A2,...,Ar}。Alice为其中一员,可以表示为As,1≤s≤r,其私钥为Ss;所有环成员的RSA公钥为P1,P2,...,Pr,其中Pi={ni,ei}。

一、生成环签名

1、签名者Alice选择对称密钥:k=h(m);

2、签名者随机均匀地从{0,1}b中选择初始值v;

3、签名者为其他环成员均匀随机地从{0,1}b中选择xi,并计算yi=gi(xi);

其中,,函数gi()为定义在{0,1}b上的扩展的单向陷门函数,qi、ri为非负数,m为b比特的输入,满足m=qi*ni+ri,fi()为定义在Zni上的单向陷门函数。

4、签名者根据组合函数Ck,v的公式:=z,计算自己的ys

其中,Ek()为对称加密算法,z为b比特的值。组合函数执行如下:

 

 

 令z=v,那么上述公式变为Ck,v(y1,y2,...,yr)=v,组合函数执行过程可变换为环:

 

 

 所有人都可以访问随机预言机得到Ek(x)或Ek-1(y),因此,签名者可以根据等式

=v   计算ys(因为除了ys,其他均已知)。

 

5、签名者利用自己的陷门信息求解xs:xs=gs-1(ys);

6、消息m上的签名为(P1,P2,...,Pr;v;x1,x2,...,xr);

二、验证过程

1、验证者根据消息m上的签名,计算yi=gi(xi);

 

 

2、验证者计算对称密钥:k=h(m);

3、验证者检查,若等式成立,验证者接受该签名是合法的,否则拒绝消息m。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM