区块链账户匿名方法

一、环签名:

假定有 n 个用户,每一个用户

拥有一个公钥

和与之对应的私钥

环签名是一个能够实现签名者无条件匿名的签名方案,它主要由下述算法组成:

1)生成Gen。一个概率多项式时间(PPT)算法,输入为安全参数k,输出为公钥和私钥。这里假定 Gen 为每一个用户 

,产生一个公钥 

扫描二维码关注公众号,回复: 3429089 查看本文章

和私钥 

 ,并且不同用户的公私钥可能来自不同的公钥体制,如有的来自RSA,有的来自DL。

2)签名Sign。一个PPT 算法,在输入消息m和 n 个环成员的公钥 L={ y1 , y2 ,⋯, yn }以及其中一个成员的私钥xs 后,对消息 m产生一个签名 R,其中R 中的某个参数根据一定的规则呈环状。

3)验证Verify。一个确定性算法,在输入(m,R)后,若R 为m 的环签名则输出“True”,否则为“False”。

环签名因为其签名隐含的某个参数按照一定的规则组成环状而得名。而在之后提出的许多方案中不要求签名的构成结构成环形,只要签名的形成满足自发性、匿名性和群特性,也称之为环签名。

环签名需要满足的特性:

(1)无条件匿名性:攻击者无法确定签名是由环中哪个成员生成,即使在获得环成员私钥的情况下,概率也不超过1/n。

(2)正确性:签名必需能被所有其他人验证。

(3)不可伪造性:环中其他成员不能伪造真实签名者签名,外部攻击者即使在获得某个有效环签名的基础上,也不能为消息m伪造一个签名。

二、同态加密:

同态加密是指这样一种加密函数,对明文进行环上的加法和乘法运算再加密,与加密后对密文进行相应的运算,结果是等价的。

R 和 S 是域,称加密函数 E:R→S 为:

加法同态,如果存在有效算法⊕,E(x+y)=E(x)⊕E(y)或者 x+y=D(E(x)⊕E(y))成立,并且不泄漏 x 和 y。

乘法同态,如果存在有效算法 ,E(x×y)=E(x) E(y)或者 xy=D(E(x) E(y))成立,并且不泄漏 x 和 y。

混合乘法同态,如果存在有效算法 ,E(x×y)=E(x) y 或者 xy=D(E(x) y)成立,并且不泄漏 x。

减法同态,如果存在有效算法○- ,E(x-y)=E(x)○- E(y)或者 x-y=D(E(x)○- E(y))成立,并且不泄漏 x 和 y,则称 E 为减法同态。

除法同态,如果存在有效算法○/ ,E(x/y)=E(x)○/ E(y)或者 x/y=D(E(x)○/ E(y))成立,并且不泄漏 x 和 y,则称 E 为除法同态。

代数同态,如果 E 既是加法同态又是乘法同态。

算术同态,如果 E 同时为加法同态、减法同态、乘法同态和除法同态。

猜你喜欢

转载自blog.csdn.net/ffhyy/article/details/82925934