Skip to main content
. 2022 Sep 8;22(18):6805. doi: 10.3390/s22186805
Algorithm 1 Ring Signature
Input: pk[n1],t
Output: 
1 η=v/n
2 pks, sks KeyGen();
3 pk[n]append(pk[n1],pks);
4 IGenKeyImage(pks);
5 the initiator starts signing
6 urand.Int();
7 Ls=u*G
8 Rs=u*H0(pks);
9 c[s+1]=H1(m,Ls,Rs);
10 the participants start signing
11 for i=1;i<n;i++ do
12        index=(s+i)mod n;
13        s[i]=rand.Int();
14        s[index]=s[i];
15        Li=si*G+ci*pki;
16        Ri=si*H0(pki)+ci*I;
17        c[i+1]=H1(m,Li,Ri);
18        if i==n1 then
19            c[s]=c[i]
20           else
21            c[(index+1) mod n]=c[i];
22           end if
23    end for
24    s[s]=uc[s]*sks;
25    =(m,I,η,c[0],s[0],,s[n1]);
26    Return ;