https://github.com/coniks-sys/coniks-go
A CONIKS implementation in Golang
https://github.com/coniks-sys/coniks-go
coniks cryptography golang key-transparency merkle-tree pki
Last synced: about 1 month ago
JSON representation
A CONIKS implementation in Golang
- Host: GitHub
- URL: https://github.com/coniks-sys/coniks-go
- Owner: coniks-sys
- License: other
- Created: 2016-05-31T19:37:35.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2022-10-06T01:40:20.000Z (over 2 years ago)
- Last Synced: 2024-11-01T09:35:03.645Z (6 months ago)
- Topics: coniks, cryptography, golang, key-transparency, merkle-tree, pki
- Language: Go
- Homepage: http://coniks.org
- Size: 556 KB
- Stars: 116
- Watchers: 15
- Forks: 30
- Open Issues: 61
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - coniks-sys/coniks-go - A CONIKS implementation in Golang (Go)
README
# CONIKS Go
[](https://travis-ci.org/coniks-sys/coniks-go)
[](https://coveralls.io/github/coniks-sys/coniks-go)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](https://golang.org) 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](https://golang.org/doc/install) 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](cli/coniksserver), a
simple command-line [client](cli/coniksclient), and the [registration-proxy](cli/coniksbot).## 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](https://github.com/coniks-sys/coniks-go/releases).## 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:
- **Arlo Breault** <[email protected]> `4797E7E1069D84AC4040797A5E3A93B4D4DDCD8B`
- **Ismail Khoffi** <[email protected]> `2BC709FBD0E50EB2D7272AD8760DA7917109FB7B`
- **Marcela Melara** <[email protected]> `C0EB3C38F30F80AB6A12C9B78E556CF999AAFE63`
- **Vu Quoc Huy** <[email protected]> `533191CEEC406DFF360D19DEC6202750C2FA740E`