1.一种基于隐私保护的区块链设计方法,用于实现基于椭圆曲线密码机制和Hash函数,其特征在于,包含以下步骤:(1)由区块链系统确定椭圆曲线E的方程为y2=x3+ax+b,椭圆曲线基点G,椭圆曲线阶数为n,并将这些参数告知区块链系统中的各节点;
(2)区块链系统中的各节点确定自己的私钥ki,计算出公钥Ki=kiG,并将公钥Ki告知区块链系统中的其他节点;
(3)节点Ri利用私钥ki对信息mi的Hash函数值ei签名,其中ei=h(mi),h(.)为Hash函数运算;
(4)Ri将mi随机分成l份,得到mi1,mi2,……,mil,mi1+mi2+……+mil=mi,Ri从区块链系统中随机选取l个节点R1,R2,……,Rl,分别用每个节点的公钥K1,K2,……,Kl对mi1,mi2,……,mil加密,得到密文(C11,C21),(C12,C22),……,(C1l,C2l);Ri将签名发送给区块链系统中的各节点,将密文(C11,C21),(C12,C22),……,(C1l,C2l)分别发送给节点R1,R2,……,Rl;
(5)区块链系统中的其他节点利用Ri的公钥Ki和签名(t,si,ei)验证节点Ri的身份和签名信息的Hash函数值ei,验证成功则各节点记录相应信息,验证不成功则不记录相应信息;
(6)在验证成功的情况下,当仲裁机构A需要验证签名信息mi时,则由节点R1,R2,……,Rl首先分别用自己的私钥k1,k2,……,kl对密文(C11,C21),(C12,C22),……,(C1l,C2l)解密,再分别将得到的明文mi1,mi2,……,mil发送给A,A验证h(mi1+mi2+……+mil)=ei是否成立,成立则mi验证成功。
2.根据权利要求1所述的一种基于隐私保护的区块链设计方法,其特征在于,步骤(3)中所述签名的内容和方法如下:Ri选取一个随机数 计算riG=(xi,yi),t=ximodn,当t=0,则重新选取ri,计算ri-1modn,si=ri-1[h(ei)+kit]modn,得到(t,si,ei)即为Ri的签名。
3.根据权利要求1所述的一种基于隐私保护的区块链设计方法,其特征在于,步骤(4)中所述加密的内容和方法如下:Ri要对发送点Rj的明文mij时, 先选取一个随机数 并将待
传输的明文mij编码到椭圆曲线E上一点Mij,再按照如下公式采用椭圆曲线算法进行加密计算:C1j=qjG
C2j=qjKj+Mij
得到密文(C1j,C2j),其中Kj为节点Rj的公钥。
4.根据权利要求1所述的一种基于隐私保护的区块链设计方法,其特征在于步骤(5)中所述签名验证的内容和方法如下:计算w=si-1modn,u1=h(ei)wmodn,u2=twmodn,u1G+u2Ki=(x0,y0),v=x0modn,当v=t则签名有效,验证成功,否则签名无效,验证不成功。
5.根据权利要求1所述的一种基于隐私保护的区块链设计方法,其特征在于步骤(6)中所述解密的内容和方法中,节点Rj利用自己的私钥kj按照如下公式采用椭圆曲线算法进行解密计算:Cj=kjC1j=kj(qjG)=qjKj
C2j-Cj=qjKj+Mij-qiKj=Mij
再反编码得到明文mij。