Fraunhofer-AISEC / libbbs

C implementation of the IRTF BBS Internet Draft

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:

  • gmp
  • xsltproc (indirect dependency of XKCP Keccak hash library)
  • cmake (build only)
mkdir build
cd build
cmake ..

Installation

Within build:

make install

Test

Within build:

make
make test

Benchmark

Within build:

make bench

Benchmark on Apple M1 Pro 2021 16GB:

  • 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

About

C implementation of the IRTF BBS Internet Draft

License:Apache License 2.0


Languages

Language:C 94.2%Language:Ruby 4.1%Language:CMake 1.7%