Ring signatures

A ring signature allows a user to sign a message as one of a group of users

To accomplish this for 1 decoy:

  • K[0] and k[0] are the user's public and private keys and K[1] is the decoy's public key

  • u and s[1] are randomly selected values

  • The signature is (c[0], s[0], s[1])

c[0] = H(M || s[1]*G + H(m || u*G) * K[1])
u*G = s[0]*G + c[0]*K[0]
u*G = s[0]*G + c[0]*k[0]*G
u = s[0]+c[0]*k[0]

Last updated