Crates.io | keyplace |
lib.rs | keyplace |
version | 0.1.1 |
source | src |
created_at | 2021-02-23 06:02:52.950454 |
updated_at | 2021-02-23 06:07:33.929583 |
description | Keyplace - server assisted key derivation for humans |
homepage | |
repository | https://github.com/mindbeam/keyplace |
max_upload_size | |
id | 359328 |
size | 35,818 |
So, you use paired-key cryptography on the internets, but you're getting fed up with silly humans writing their private keys on cocktail napkins? SAD!
What if I told you there were a way for YOUR server to help manage these keys, but in a not-totally-crappy way?
It slices, it dices:
But wait, there's more:
KeyPlace is inspired by the Keybase key derivation algorithm https://book.keybase.io/docs/crypto
use keyplace::{AgentKey,PassKey};
let agentkey = AgentKey::create(None);
let passkey = PassKey::new("I like turtles");
let custkey = agentkey.custodial_key(passkey);
// the custodial key is safe to send to the server
// Never send the passkey to anyone!!
let passkey2 = PassKey::new("I like turtles");
let agentkey2 = AgentKey::from_custodial_key(custkey, passkey2).unwrap();