Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qantik/ratcheted
Performance Survey of Several Ratcheted Key-Agreement and Messaging Protocols
https://github.com/qantik/ratcheted
benchmark cryptography go messaging ratchet
Last synced: 7 days ago
JSON representation
Performance Survey of Several Ratcheted Key-Agreement and Messaging Protocols
- Host: GitHub
- URL: https://github.com/qantik/ratcheted
- Owner: qantik
- License: mit
- Created: 2018-09-20T10:36:20.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-07-16T09:26:59.000Z (over 4 years ago)
- Last Synced: 2024-11-29T21:25:20.724Z (2 months ago)
- Topics: benchmark, cryptography, go, messaging, ratchet
- Language: Go
- Homepage:
- Size: 385 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
## ratcheted
`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](https://godoc.org/github.com/qantik/ratcheted).
## Requirements
- go (with set $GOPATH)
- [dep](https://github.com/golang/dep)
- [pbc](https://github.com/Nik-U/pbc) (Standford Pairing-Based Cryptography Library)## Installation
```
$ 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 ./...
````## Benchmarks
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.## Project Structure
- `./acd` Double Ratchet protocol by [Alwen, Coretti & Dodis](https://eprint.iacr.org/2018/1037).
- `./dv` BARK protocol by [Durak & Vaudenay](https://eprint.iacr.org/2018/889).
- `./jmm` Secure Channel protocol by [Jost, Maurer & Mularczyk](https://eprint.iacr.org/2018/954).
- `./js` Secure Channel protocol by [Jaeger & Stepanovs](https://eprint.iacr.org/2018/553).
- `./pr` BRKE protocol by [Poettering & Rösler](https://eprint.iacr.org/2018/296).
- `./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.