coniks-sys / coniks-go

A CONIKS implementation in Golang
http://coniks.org
Other
116 stars 30 forks source link
coniks cryptography golang key-transparency merkle-tree pki

CONIKS Go

Build Status Coverage Status

http://coniks.org

Overview

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.

Golang Library

The packages in this library implement the various components of the CONIKS system and may be imported individually.

Installation

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/coniks-sys/coniks-go/...

For usage instructions, see the documentation in their respective packages: CONIKS-server, a simple command-line client, and the registration-proxy.

Disclaimer

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.

API Documentation

https://godoc.org/github.com/coniks-sys/coniks-go

Current Core Developers

Releases of coniks-go will be signed with one of the following GPG keys: