a light protocol for encrypting & decrypting, or verifying & signing, JSON objects.
the focus is on payloads that can be sent over the wire without any transformations.
npm install real-talk
var talk = require('real-talk')
var o = {
muy: 'buena',
onda: null,
}
var myKeypair = talk.keypair()
var yourKeypair = talk.keypair()
var encrypted = talk.encrypted(o, myKeypair, yourKeypair.publicKey)
var decrypted = talk.decrypt(encrypted, yourKeypair)
console.log(decrypted.body)
// > { muy: 'buena', onda: 'null' }
var talk = require('real-talk')
var o = {
muy: 'buena',
onda: null,
}
var sign_kp = talk.signKeypair()
var signed = talk.signed(o, sign_kp)
console.log(typeof signed)
// > 'string'
talk.verify(signed.body)
// > { muy: 'buena', onda: 'null' }
note that encrypted messages are also authenticated
returns a nacl keypair {publicKey, secretKey}
for encryting and decrypting
returns a string
returns an object { body, from_pubkey, to_pubkey }
or null
returns a nacl keypair {publicKey, secretKey}
for signing and verifying
returns a string
returns an object {body, from_keypair}
or null
turn a Uint8Array into a string
turn a string produced by talk.serialize
into a Uint8Array
BSD