ratcheted
implements and benchmarks various novel forward-secure key agreement andmessaging protocols and aims to provide insight into the performance aspects of the differentprotocols. 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 andstate size benchmarks which can be run by simply executing the main.go
file.
./acd
Double Ratchet protocol by Alwen, Coretti & Dodis../dv
BARK protocol by Durak & Vaudenay../jmm
Secure Channel protocol by Jost, Maurer & Mularczyk../js
Secure Channel protocol by Jaeger & Stepanovs../pr
BRKE protocol by Poettering & Rösler../primitives
contains the implementation of various cryptographic primitives as needed by the protocols../report
and ./slides
contain the TeX
sources for the project write-up and the accompanying slides.