|
2 years ago | |
---|---|---|
test | 2 years ago | |
.gitignore | 2 years ago | |
LICENSE | 2 years ago | |
README.md | 2 years ago | |
index.js | 2 years ago | |
package.json | 2 years ago | |
yarn.lock | 2 years ago |
Crypto primitives used in cobox
npm install cobox-crypto
const crypto = require('cobox-crypto')
const address = crypto.address()
Returns a ed25519
random 32 byte buffer
const keyPair = crypto.keyPair()
Returns an ed25519
keypair that can used for tree signing.
const encKey = crypto.encryptionKey()
Returns an ed25519
symmetric key used for shared secret encryption
const accessKey = crypto.accessKey()
// OR
const accessKey = crypto.pack(address, encKey)
Returns an access key, which consists of an ed25519
address, packed together with an ed25519
symmetric key
const keys = crypto.unpack(key)
Returns an object containing an address, and a shared secret if accessible. Address alone is used for blind replication. The shared secret can then be used for decryption.
const { publicKey, secretKey } = crypto.boxKeyPair(seed)
Returns an ed25519
private box keypair used for identification, message signing and encryption
const boxed = box(publicKey, message, [context])
Encrypts a message to a given public key and returns it as a buffer
publicKey
buffer or hex encoded stringmessage
buffer or hex encoded string of any lengthcontext
, if passed, will be hashed in to the shared secret. Should be a buffer or hex encoded string.const unboxed = unbox(cipherText, keypair, [context])
Decrypts a message using the given keypair.
cipherText
the encrypted message given as a buffer.keypair
an object of the form { publicKey, secretKey }
both of which should be buffers or hex encoded strings.context
, if given, will be hashed into the shared secret. Should be a buffer or hex encoded string.