CONIKS is a key management system that provides transparency and privacy for end-user public keys. CONIKS protects end-to-end encrypted communications against malicious or compromised communication providers and surveillance by storing users' encryption keys in tamper-evident and publicly auditable key directories on the server side. This allows messaging clients to verify the identity of users automatically, and prevents malicious/compromised servers from hijacking secure communications without getting caught.
This repository provides a Golang implementation of the CONIKS system. The implementation consists of a library, described in the following section, a standalone CONIKS-server and -client, and a registration proxy using this library.
The packages in this library implement the various components of the CONIKS system and may be imported individually.
application
: CONIKS application-layer library.cli
: CONIKS command-line tools (registration bots, key server, and test client).crypto
: Cryptographic algorithms and operationsmerkletree
: Merkle prefix tree and related data structuresutils
: Utility functionsprotocol
: CONIKS protocols implementation/librarystorage
: Hooks for persistent storage backend (currently unused)
You need to have Golang version 1.9 or higher installed. If Golang is set up correctly, you can simply run:
go get github.com/huyuncong/coniks-go/...
For usage instructions, see the documentation in their respective packages: CONIKS-server, a simple command-line client, and the registration-proxy.
Please keep in mind that this CONIKS library is under active development. The repository may contain experimental features that aren't fully tested. We recommend using a tagged release.
https://godoc.org/github.com/huyuncong/coniks-go
Releases of coniks-go will be signed with one of the following GPG keys:
- Arlo Breault <arlo@torproject.org>
4797E7E1069D84AC4040797A5E3A93B4D4DDCD8B
- Ismail Khoffi <Ismail.Khoffi@gmail.com>
2BC709FBD0E50EB2D7272AD8760DA7917109FB7B
- Marcela Melara <msmelara@gmail.com>
C0EB3C38F30F80AB6A12C9B78E556CF999AAFE63
- Vu Quoc Huy <huyvq.c633@gmail.com>
533191CEEC406DFF360D19DEC6202750C2FA740E