1+ ## Contributors
2+
3+ Help wanted!
4+
5+ For implementation clients in search for developers how have skills in Android, iOS, Web or Desktop development.
6+
17## Public storage public key
28
3- Simple in-memory public storage public key.
9+ Specific storage for sharing public keys of pair ECDH by curve25519.
10+
11+ Service provide HTTP API for save and read a 32-bytes key with human-readable name (aka. alias).
12+
13+ This service solve problem for persistent saving public key and send to recipient through open communication channel.
414
5- HTTP-base key-value storage.
15+ ### Features
16+
17+ - [x] save public key with name
18+ - [x] load public key by name
19+ - [ ] share some encrypted data via one-time link
20+ - [ ] support other elliptic curve cryptography algorithms
21+ - [ ] ephemeral encryption via API method
22+ - [ ] verification of signature by link
23+ - [ ] QR codes
24+ - [ ] simple cli tool
25+ - [ ] simple web-application
26+ - [ ] simple iOS client
27+ - [ ] simple android client
28+ - [ ] local http server to pspk API
629
730## Model
831
@@ -13,21 +36,66 @@ You should use this model:
1336 "key" :" base64=="
1437}
1538```
39+ where:
40+ - ` name ` - string with length more that 1000 signs
41+ - ` key ` - encodeted to base64 32-bytes public key
1642
1743## Request
1844
1945Save public key:
2046``` bash
2147curl -X POST " https://pspk.now.sh" -d ' {"name":"Some.Name","key":"E7+TL112lj1GmJRHf9jT5MZJDgYIhUbtBLc4/ZFMZ5c="}'
48+ {" access" :true," msg" :" added" }
2249```
2350
2451Read public key:
2552``` bash
2653curl -X POST " https://pspk.now.sh" -d ' {"name":"Some.Name"}'
54+ {" access" :true," key" :" wTaZA5+QeZpby33W2T5uV8TweWaPEZn3clTe5xkmb2M=" }
2755```
2856
2957## pspk cli usage
3058
59+ ` pspk ` - console tool which use API to pspk and implement encryption/decryption for one or several recipients.
60+
61+ ```
62+ $ pspk --help
63+ NAME:
64+ pspk - pspk - encrypt you message and send through open communication channel
65+
66+ USAGE:
67+ pspk [global options] command [command options] [arguments...]
68+
69+ VERSION:
70+ 0.1.2
71+
72+ DESCRIPTION:
73+ Console tool for encyption/decription data through pspk.now.sh
74+
75+ COMMANDS:
76+ publish, p --name <NAME> publish
77+ secret, s secret public_name
78+ encrypt, e ecnrypt pub_name some message will encrypt
79+ ephemeral-encrypt, ee ee pub_name some message will encrypt
80+ decrypt, d decrypt pub_name base64==
81+ ephemeral-decrypt, ed ephemeral-decryp pub_name base64==
82+ use-current, uc --name name_pub_key use-current
83+ group, g --name base_name group
84+ start-group, sg start-group groupName [pubName1 pubName2 ...]
85+ finish-group, fg finish-group groupName pubName1 [pubName2 ...]
86+ secret-group, seg secret-group groupName pubName1 [pubName2 ...]
87+ encrypt-group, eg eg <GROUP_NAME> message
88+ ephemeral-encrypt-group, eeg Encrypt input message with ephemeral key
89+ decrypt-group, dg dg <GROUP_NAME> base64
90+ ephemeral-decrypt-group, edg Decrypt input message with ephemral shared key
91+ help, h Shows a list of commands or help for one command
92+
93+ GLOBAL OPTIONS:
94+ --name value key name
95+ --help, -h show help
96+ --version, -v print the version
97+ ```
98+
3199### Generation key pair.
32100Will generation private and public keys and publish public pice to pspk.now.sh.
33101``` bash
@@ -62,7 +130,7 @@ pspk --name alice start-group base
62130pspk --name bob start-group base alice
63131pspk --name carol start-group base bob alice
64132```
65- The last members finis generate intermediate secrets.
133+ The last members finish generate intermediate secrets.
66134``` bash
67135pspk --name daron finish-group base carol bob alice
68136```
0 commit comments