环签名指的是在n个公钥中隐藏自己拥有私钥的那个公钥,具体应用就在于区块链上隐藏交易发送人(地址/公钥)。
准备
首先定义以下函数,其中 E k E_{k} Ek为对称加密算法,k为 E k E_{k} Ek对应的对称密钥
C k , v ( y 1 , y 2 , … , y n ) = E k ( y n ⊕ E k ( y n − 1 ⊕ E k ( ⋯ ⊕ E k ( y 1 ⊕ v ) …   ) ) ) = v {\displaystyle C_{k,v}(y_{1},y_{2},\dots ,y_{n})=E_{k}(y_{n}\oplus E_{k}(y_{n-1}\oplus E_{k}(\dots \oplus E_{k}(y_{1}\oplus v)\dots )))=v} Ck,v(y1,y2,…,yn)=Ek(yn⊕Ek(yn−1⊕Ek(⋯⊕Ek(y1⊕v)…)))=v
情景
对消息m的环签名(公钥 P 1 . . . P n P_1...P_n