Add blind signing support for schnorr #292

issue gmaxwell opened this issue on August 27, 2015
  1. gmaxwell commented at 6:11 PM on August 27, 2015: contributor

    21:33 @gmaxwell signer with pubkey P generates k, sends R = kG to user. User computes blinding factors a,b computes R' = R + aG + bP ; e' = H(R' || M) - b sends e' to signer, signer computes s' = k + e'x; user computes s = s' + a, signature is r',s.

    (I derived that myself, it looks right to me-- anyone have a citation for that protocol?)

    Looks like an implementation could also easily support multisig blindsigning as well.

  2. apoelstra commented at 6:41 PM on August 27, 2015: contributor

    I think you want e' = H(R'||M) + b, both for correctness and so that e' can't be derived from the published signature.

    I don't have a citation; the only blind Schnorr description I'm aware of is Matt Green's, which uses the (s, e) form rather than (s, r).

  3. gmaxwell added the label enhancement on Aug 27, 2015
  4. gmaxwell commented at 7:22 PM on August 27, 2015: contributor

    s,e is for batch hating suckers. :) Have a link to Matt Green's?

  5. apoelstra commented at 7:24 PM on August 27, 2015: contributor

    Oh, I'm misremembering :) Matt Green's post is here http://blog.cryptographyengineering.com/p/note-on-blind-signature-schemes.html and up to notation it's identical to yours.

  6. gmaxwell commented at 11:04 AM on February 20, 2019: contributor

    Worth keeping in mind that a straight forward naive blind signing approach is vulnerable to extracting >N signatures from N parallel signature attempts by using wagner's algorithm to lower the rank of the challenges.

  7. apoelstra commented at 1:21 PM on February 20, 2019: contributor

    Closing as blind signatures are likely a better fit for secp256k1-zkp, until such time as there's a usecase for Core (or other "typical" Bitcoin users).

  8. apoelstra closed this on Feb 20, 2019

Contributors

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/secp256k1. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-14 11:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me