Skip to content

C implementation of the IRTF BBS Internet Draft

License

Notifications You must be signed in to change notification settings

Fraunhofer-AISEC/libbbs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libbbs

Specification-compliant and performant implementation of the BBS signature scheme.

Provides a library libbbs implementing the BLS12381-SHA-256 and BLS12-381-SHAKE-256 cipher suite.

Setup

Prerequisites

Dependencies:

  • cmake (build only)
  • gmp (optional, faster than the default)
mkdir build
cd build
cmake .. # Without GMP or
cmake -DRELIC_ARITH="gmp" .. # (if you have gmp)

Installation

Within build:

make install

Test

Within build:

make
make test

Benchmark

Within build:

./test/bbs-test-bench

Benchmark (bbs_bench_individual) on M1 Pro 2021 16GB with -DRELIC_ARITH="gmp":

  • 2 messages each of size 64 bytes
  • Disclosing first message only
  • Runtime averaged over 1000 iterations without warmup
Function SHA256 (ms) SHAKE256 (ms)
key generation (SK & PK) 0,174 0,172
sign 1,995 1,888
verify 3,877 3,829
proof generation 3,289 3,220
proof verification 4,532 4,482