Specification-compliant and performant C implementation of the BBS signature scheme with little to no third party dependencies.1
Provides a library libbbs implementing the BLS12-381-SHA-256 and BLS12-381-SHAKE-256 cipher suite.
The API is documented in include/bbs.h and the manual. See
bbs(7).
Build dependencies:
cmake- blst (automatically downloaded / statically linked)
$ mkdir build && cd build
$ cmake ..
$ make
$ make test (recommended)
$ sudo make installWithin build:
make benchBenchmark (bbs_bench_individual) on Lenovo ThinkPad T14s Gen1 using clang:
- 2 messages each of size 64 bytes
- Disclosing first message only
- Runtime averaged over 1000 iterations without warmup
Footnotes
-
The calling application needs to provide a source of randomness via getentropy(3). On modern POSIX platforms, this function is included in libc. ↩
