Giter VIP home page Giter VIP logo

blind-bbs-signatures's Introduction

Blind BBS Signatures

This is the working area for the individual Internet-Draft, "Blind BBS Signatures".

Contributing

See the guidelines for contributions.

Contributions can be made by creating pull requests. The GitHub interface supports creating pull requests using the Edit (โœ) button.

Command Line Usage

Formatted text and HTML versions of the draft can be built using make.

$ make

Command line usage requires that you have the necessary software installed. See the instructions.

blind-bbs-signatures's People

Contributors

basileioskal avatar albertosvg avatar wind4greg avatar

Stargazers

 avatar

Watchers

 avatar

blind-bbs-signatures's Issues

Off by one error in generators for commitment

In the Commitment computation step 2 the spec says: "generators = BBS.create_generators(M + 2, api_id)". Only M+1 of these generators are used.

In my computation I use "generators = BBS.create_generators(M + 1, api_id)" and all commitment test vectors (SHA and SHAKE) verify. Cheers Greg.

Help with test vectors

Hello,

I've encountered an issue while testing my code against the commit001.json fixture in the bls12-381-sha-256 folder. My code is producing a commit different from the expected one.

Considering that committedMessages is an empty array in this case, the commitment C should be equal to Q_2 * secret_prover_blind, correct? My secret_prover_blind is correct and matches 1b6f406b17aaf92dc7deb911c7cae49756a6623b5c385b5ae6214d7e3d9597f7. Therefore, I suspect the issue lies in the computation of Q_2.

I have already implemented the test vectors for the Generators, and they all passed successfully. So, I don't really know what might be causing the problem. Any guidance or suggestions would be greatly appreciated.

Thank you!

Core Blind Signatures: `calculate_domain()` function not defined

For calculate_domain(PK, generators, header, api_id) are we thinking something like:

Procedure:

  1. dom_array = (M + L + 1, ...generators)
  2. dom_octs = serialize(dom_array) || api_id
  3. dom_input = PK || dom_octs || I2OSP(length(header), 8) || header
  4. return hash_to_scalar(dom_input, domain_dst)

It's not defined in the document and has a different signature than that in BBS Signatures.

Blind Signature, calculate M?

In Blind Signature step 3:

  1. if M != 0, M = M - octet_point_length - octet_scalar_length

==> but there is the challenge on the end so shouldn't M = M - octet_point_length - 2*octet_scalar_length?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.