本文首发公众号 VenusBlockChain,关注公众号后可免费阅读!VenusBlockChain 致力于区块链技术研究,传播区块链技术和解决方案、区块链应用落地、区块链行业动态等。
因为,在账户模型中,利用在同态加密实现私密交易,对于交易参与双方会利用各自的公钥对交易额(即转账金额)进行加密,因此,需要校验这两个加密数据是否对交易额的加密结果。
引用HW的范围可验证的同态加密的设计和使用提供的方案图,可更清楚的了解为什么要这么做。
1. 承诺相等性证明
设 t , l , s 1 , s 2 t,l,s_1,s_2 t,l,s1,s2为公开的安全参数, n n n为一个大合数,其因式分解Alice和Bob未知。对于 x x x的两个承诺,分别为 E i ( x , r i ) = g i x h i r i m o d n , i = 1 或 2 E_i(x,r_i)=g_i^xh_i^{r_i}modn,i = 1或2 Ei(x,ri)=gixhirimodn,i=1或2。随机数 r i ∈ [ 2 s 1 n + 1 , 2 s 1 n − 1 ] , i = 1 或 2 r_i \in [2^{s_1}n+1,2^{s_1}n-1],i = 1或2 ri∈[2s1n+1,2s1n−1],i=1或2。
Alice拥有一个私密数据 x ∈ [ 0 , b ] x \in [0,b] x∈[0,b],假设 E = E ( x , r 1 ) E=E(x,r_1) E=