Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@coboxcoop/crypto

Package Overview
Dependencies
Maintainers
2
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@coboxcoop/crypto

crypto library for generating keys using libsodium

  • 1.0.2-alpha.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

crypto

standard-readme compliant

Table of Contents

About

CoBox is an encrypted p2p file system and distributed back-up tool. README provides a map of the project.

crypto provides the crypto primitives used in CoBox

Install

npm i -g @coboxcoop/crypto

Usage

const crypto = require('@coboxcoop/crypto')

API

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 string
  • message buffer or hex encoded string of any length
  • context, 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.

Contributing

PRs accepted.

Small note: If editing the README, please conform to the standard-readme specification.

License

AGPL-3.0-or-later

FAQs

Package last updated on 29 Jul 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc