Giter VIP home page Giter VIP logo

guillaumelauzier / bls-signatures Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 5 KB

BLS (Boneh-Lynn-Shacham) signatures are a type of cryptographic digital signature scheme that allows for fast signature verification and aggregation of multiple signatures. BLS signatures are based on the mathematical properties of pairing-based cryptography, which involves operations between points on elliptic curves.

License: MIT License

C++ 100.00%
bitcoin bls-signatures

bls-signatures's Introduction

BLS-signatures

BLS (Boneh-Lynn-Shacham) signatures are a type of cryptographic digital signature scheme that allows for fast signature verification and aggregation of multiple signatures. BLS signatures are based on the mathematical properties of pairing-based cryptography, which involves operations between points on elliptic curves.

BLS signatures are often used in blockchain and decentralized finance (DeFi) applications because they enable efficient signature verification and compact signature representation. They are particularly useful in applications where many signatures need to be aggregated, such as in multi-signature transactions and threshold signature schemes.

Compared to other signature schemes like ECDSA and Schnorr signatures, BLS signatures have a few notable advantages. They have shorter signature lengths, allowing for more efficient use of storage space and bandwidth. They also allow for faster signature verification, which can be important in applications where speed is a priority.

src.cpp

This code generates a new private key and public key for BLS signatures, signs a message using the private key, and verifies the signature using the public key and message. It then prints out the private key, public key, signature, and whether the signature is valid or not. Note that this code does not use any external libraries and only relies on OpenSSL.

lib.cpp

This code generates a BLS secret key, corresponding public key, and uses them to sign a message. The resulting signature is then verified, and the results are printed to the console. Note that the blst library must be installed and linked to the program for this code to work.

bls-signatures's People

Contributors

guillaumelauzier avatar

Watchers

 avatar  avatar

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.