This project is still under heavy development, it is not suited forproduction use!

duse api

Duse is a cryptographic server client application created to securely sharesecrets among signed up users. It is meant to be used for secrets such aspasswords and ssh-keys, but it can very well be used to encrypt and shareanything.

How It Works

Duse uses a combination of algorithms to build its cryptographic protocol.

The following are the high level steps a client has to do to share a secretwith this api.

Decide on what to share (password, ssh-key, etc.)

Decide who to share with and retrieve their profiles (containing theirpublic key)

Encrypt the plaintext with AES256 with a random key and initializationvector

Apply Shamir's Secret Sharing to the key and initialization vector - Oneshare for each user plus an additional share which is accessible byeveryone belonging to the "server" user.

Encrypt each share with corresponding users public key

Sign each of the encrypted shares with the creating users private key

post all generated data to the api

A supported client implementation isduse.rb. It is a ruby library whichconsumes the duse api and provides a CLI.