libBLS: a C++ library for BLS Threshold Signatures – LBLBLS:一个BLS阈值签名的C++库区块链毕设代写

区块链毕设代写本文提供国外最新区块链项目源码下载,包括solidity,eth,fabric等blockchain区块链,libBLS: a C++ library for BLS Threshold Signatures – LBLBLS:一个BLS阈值签名的C++库区块链毕设代写 是一篇很好的国外资料

libBLS: a C++ library for BLS Threshold Signatures

libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库 libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库 libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库 libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库

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 and PBC library by Ben Lynn (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 running as follows:

  1. Key generation
  2. Encryption
  3. Decryption
  4. Verifying and combining shares

You can learn more about the algebraic structures used in this algorithm in Ben Lynn’s PhD Dissertation. libBLS uses a modified Ben Lynn’s pbc library with memory corruption bug fixed and the TYPE A curve for symmetric bilinear pairing.

Performance Specifications

libBLS allows to sign about 3000 messages per second on a single thread (Intel® Core™ i3-4160 CPU @ 3.60GHz). However, for our solution we have implemented constant time signing (0.01 sec for sign) to avoid timing attacks.

Installation Requirements

libBLS has been built and tested on Ubuntu and Mac.

GitHub is used to maintain this source code. Clone this repository by:

git clone https://github.com/skalenetwork/libBLS.git cd libBLS

Building Dependencies

Ensure that required packages listed below are installed.

Build libBLS’s dependencies by:

cd deps bash ./build.sh cd ..

Building from source on Mac

brew install flex bison libtool automake cmake pkg-config yasm # Configure the project and create a build directory. cmake -H. -Bbuild  # Build all default targets using all cores. cmake --build build -- -j$(sysctl -n hw.ncpu)

Building from source on Ubuntu

Ensure that the required packages are installed by executing:

sudo apt-get update sudo apt-get install -y automake cmake build-essential libprocps-dev libtool                         pkg-config yasm texinfo autoconf flex bison clang-format-6.0

Configure the project build with the following commands.

# Configure the project and create a build directory. cmake -H. -Bbuild  # Build all default targets using all cores. cmake --build build -- -j$(nproc)

Include the library

#include <libBLS.h>

Documentation

See docs for libBLS documentation.

Libraries

  • libff by SCIPR-LAB
  • pbc by Ben Lynn with modifications from SKALE Labs

Contributing

If you have any questions please ask the development community on Discord.

libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库

Otherwise see our CONTRIBUTING.md for more information.

License

libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库

Copyright (C) 2018-present SKALE Labs


在Ubuntu上从源代码构建

> libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库>> libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库>< /libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库> < libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库>< /libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库> < libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库> < /libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库> < /P> < P> C++支持的数学库,支持BLS阈值签名、分布式密钥生成(DKG)和阈值加密(TE)。

这个libBLS库由SKALE Labs开发,使用了SCIPR-LAB的libff和Ben Lynn的PBC库(见下面的库)。

此libBLS库仍在积极开发中,因此应视为alpha软件。开发仍然需要经过安全性强化、进一步的测试和突破性的更改。此库尚未进行安全性审核或审核。请看安全.md用于报告策略。 P>LBLLS是一个支持BLS签名和DKG的C++库,它支持阈值签名和多签名。它还支持阈值加密。

包括库

签名过程分为4个步骤:

文档

libBLS使用alt槄bn128(Barreto-Naehrig curve)椭圆曲线与以太坊eth的加密技术兼容,并提供128位的安全性。同时,它还提供了使用支持相同曲线的DKG算法生成密钥的机会。

libBLS在很大程度上对应于BLS签名标准。这项工作仍在进行中,并将在未来几个月内加以改进。

  1. 密钥生成
  2. 哈希
  3. 签名
  4. 验证

加密过程的运行方式如下:

您可以在Ben Lynn的博士论文中了解该算法中使用的代数结构。libBLS使用了一个修正的benlynn的pbc库,修复了内存损坏错误,并为对称双线性配对使用了类型a曲线。

libBLS允许在单个线程(Intel®Core)上每秒签名约3000条消息™ i3-4160 CPU@3.60GHz)。然而,对于我们的解决方案,我们已经实现了恒定时间签名(对于sign为0.01秒),以避免定时攻击。libBLS已经在Ubuntu和Mac上构建和测试。

  1. 密钥生成
  2. 加密
  3. 解密
  4. 验证和合并共享

GitHub用于维护此源代码。克隆此存储库的方法:

确保已安装下面列出的所需软件包。

Installation Requirements

通过以下方式构建libBLS的依赖项:

通过执行以下命令确保安装了所需的包:

git clone https://github.com/skalenetwork/libBLS.git cd libBLS

Building Dependencies

使用以下命令配置项目生成。

有关libBLS文档,请参阅docs。

cd deps bash ./build.sh cd ..

Building from source on Mac

brew install flex bison libtool automake cmake pkg-config yasm # Configure the project and create a build directory. cmake -H. -Bbuild  # Build all default targets using all cores. cmake --build build -- -j$(sysctl -n hw.ncpu)

Building from source on Ubuntu

如果您有任何问题,请向开发社区咨询意见。

sudo apt-get update sudo apt-get install -y automake cmake build-essential libprocps-dev libtool                         pkg-config yasm texinfo autoconf flex bison clang-format-6.0

libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库

# Configure the project and create a build directory. cmake -H. -Bbuild  # Build all default targets using all cores. cmake --build build -- -j$(nproc)

Include the library

#include <libBLS.h>

Documentation

否则请参阅我们的贡献.md了解更多信息。“IG6TAGT>/

> P>版权(C)2018 SkalAsdis

Libraries

  • libff,由SCIPR-LAB完成
  • pbc,由Ben Lynn进行修改,来自SKALE Labs

Contributing

If you have any questions please ask the development community on Discord.

libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库

Otherwise see our CONTRIBUTING.md for more information.

License

libBLS: a C++ library for BLS Threshold Signatures - LBLBLS:一个BLS阈值签名的C++库

Copyright (C) 2018-present SKALE Labs

部分转自网络,侵权联系删除区块链源码网

www.interchains.cc

https://www.interchains.cc/17541.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 !
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » libBLS: a C++ library for BLS Threshold Signatures – LBLBLS:一个BLS阈值签名的C++库区块链毕设代写

提供最优质的资源集合

立即查看 了解详情