{"repo":"skalenetwork/libBLS","free":true,"listed":false,"github":"https://github.com/skalenetwork/libBLS","clone":"git clone https://github.com/skalenetwork/libBLS.git","description":"Solidity-compatible BLS signatures, threshold encryption, distributed key generation library in modern C++. Actively maintained and used by SKALE for consensus, distributed random number gen, inter-chain communication and protection of transactions.","language":"C++","stars":157,"topics":["cryptography","bls-signature","threshold-cryptography","distributed-key-generation","threshold-signatures","threshold-encryption","dkg","solidity","common-coin","bls"],"license":"AGPL-3.0","category":"blockchain-web3","readme_excerpt":"libBLS: a C++ library for BLS Threshold Signatures A mathematical library written in C++ that supports BLS threshold signatures, Distributed Key Generation (DKG) and Threshold Encryption (TE). This libBLS library is developed by SKALE Labs and uses SCIPR-LAB's libff (see Libraries below). An important note about production readiness This libBLS library is still in active development and therefore should be regarded as alpha software . The development is still subject to security hardening, further testing, and breaking changes. This library has not yet been reviewed or audited for security. Please see SECURITY.md for reporting policies. Overview libBLS is a C++ library for BLS signatures and DKG that supports both threshold signatures and multi-signatures. Also it supports Threshold Encryption. The signature process proceeds in 4 steps: 1. Key generation 2. Hashing 3. Signing 4. Verification libBLS uses the alt bn128 (Barreto-Naehrig curve) elliptic curve to be compatible with Ethereum's cryptography and provides 128 bits of security. Also, it provides opportunity to generate secret keys with DKG algorithm that supports the same curve. libBLS for the most part corresponds to BLS signature standard. This work is still in progress and is going to be improved in the next couple of months. Encryption process is running as follows: 1. Key generation 2. Encryption 3. Decryption 4. Verifying and combining shares libBls uses the same alt bn128 curve for threshold encryption as for BL","default_branch":null,"files":null,"tree":[],"storefront":"/r/skalenetwork","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/skalenetwork/libBLS/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}