Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
cli
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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.

  • application: CONIKS application-layer library.
  • cli: CONIKS command-line tools (registration bots, key server, and test client).
  • crypto: Cryptographic algorithms and operations
  • merkletree: Merkle prefix tree and related data structures
  • utils: Utility functions
  • protocol: CONIKS protocols implementation/library
  • storage: Hooks for persistent storage backend (currently unused)

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: