美文网首页
基于Schnorr签名的Pedersen承诺一致性证明

基于Schnorr签名的Pedersen承诺一致性证明

作者: 朱立_SSE | 来源:发表于2020-05-13 09:42 被阅读0次

顺着前一个帖子的未尽事宜自行考虑了以下问题:两方各自有一个Pedersen Commitment,想要证明其承诺值相同,且证明过程不能对第三方泄露承诺值;如果实际上承诺值不相同,则甚至不能让对方知道本方的承诺值。给出一个解法:

甲方:cm1 = v1 * G + x1 * H;生成随机数 r1,公开r1*H

乙方:cm2 = v2 * G + x2 * H;生成随机数 r2, 公开r2*H

定义 e = Hash(r1*H||r2*H||cm1 || cm2)

甲方计算 s1 = r1 + e*x1,

x1作为私钥,为e生成Schnorr签名sig1 = <r1*H, s1> =

乙方计算s2 = r2 + e * x2

x2作为私钥,为e生成Schnorr签名sig2 = < r2 * H,  s2> =

甲乙双方公开sig1sig2。包括甲乙和第三方,任何人都可以计算如下定义的 sig = sig1 - sig2 =  < r1*H - r2*H, s1 - s2> =

上式中,对sig的两个分量分别记为R和s。

甲乙双方共同拥有(但任何一方都不单独知道)的共同私钥 sk = x1 - x2, 对应的共同公钥PK = (x1-x2)*H

包括甲乙和第三方,任何人都可以计算cm = cm1 - cm2 ,其值等于(v1 - v2) * G + (x1 - x2) * H。只有当v1==v2时,cm才正好等于PK

包括甲乙和第三方,任何人都可以验证sig = <R, s> 是否是对应cm(此时当做是一个公钥)的对e的签名:

s*H =?=  R + e * cm

演算后易知:只有在 (v1=v2)时上面的式子左右两边才相等!也就是时候,如果能够验证这个签名,就证明了两个Pedersen承诺的值恰好相等。

这个算法只能用于半诚实敌手模型。

相关文章

  • 基于Schnorr签名的Pedersen承诺一致性证明

    顺着前一个帖子的未尽事宜自行考虑了以下问题:两方各自有一个Pedersen Commitment,想要证明其承诺值...

  • 2018-07-28

    Schnorr 签名 Schnorr 签名由来 Schnorr 源于 Claus-Peter Schnorr 的发...

  • 区块链签名

    ecdsa签名 Schnorr签名Schnorr与聚合签名.jpg 群签名环签名(没有管理员的群签名)盲签名

  • 理解Wisdom Chain中的聚合签名

    什么是聚合签名 聚合签名是使用Schnorr签名(一种数字签名方案,以其简单高效著称,其安全性基于某些离散对数问题...

  • 币圈常见签名算法

    目前大部分币种采用的交易签名算法都是基于椭圆曲线,大致可以分为两类,ECDSA和Schnorr签名。由Schnor...

  • Schnorr签名

    Schnorr签名由Claus Schnorr于2008年提出, 区块链协议公司Blockstream的密码学家G...

  • 基于Pedersen承诺的准“全同态”运算

    源自壹账通公开的一个专利 初始化 1) 有一个 群,基点g 2) 有一个双线性pairing e(p,q) 3) ...

  • 密码学系列 - 签名

    签名是用于消息的认证,保证该条消息不被伪造。本文主要讨论RSA签名、DSA、ECDSA 和 Schnorr 签名...

  • DSA 数字签名算法

    Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种,...

  • DSA算法

    DSA(Digital Signature Algorithm)是Schnorr和ElGamal签名算法的变种,被...

网友评论

      本文标题:基于Schnorr签名的Pedersen承诺一致性证明

      本文链接:https://www.haomeiwen.com/subject/hfjgnhtx.html