環簽名(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