ratcheted implements and benchmarks various novel forward-secure key agreement and
messaging protocols and aims to provide insight into the performance aspects of the different
protocols. The code base is structure as a library as to enable integration in other projects.
For the ratcheted library reference, see the documentation.
$ go get -u github.com/qantik/ratcheted
$ cd ${GOPATH}/src/github.com/qantik/ratcheted
# On Linux make sure that the pbc libary path is set.
# export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/lib
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
$ dep ensure
$ go test -v ./...
The bench directory within each package contains the runtime, message and
state size benchmarks which can be run by simply executing the main.go file.
./acdDouble Ratchet protocol by Alwen, Coretti & Dodis../dvBARK protocol by Durak & Vaudenay../jmmSecure Channel protocol by Jost, Maurer & Mularczyk../jsSecure Channel protocol by Jaeger & Stepanovs../prBRKE protocol by Poettering & Rösler../primitivescontains the implementation of various cryptographic primitives as needed by the protocols../reportand./slidescontain theTeXsources for the project write-up and the accompanying slides.