3.0.1 • Published 5 years ago

bcrypto-mb v3.0.1

Weekly downloads
4
License
MIT
Repository
github
Last release
5 years ago

bcrypto

The missing crypto module for node.js. bcrypto provides you with a consistent interface accross node.js and the browser.

Bcrypto takes advantage of the fact that node.js is statically linked with OpenSSL. There are a number of features in OpenSSL which are not directly exposed in the node.js API. As such, the node.js backend for bcrypto adds very little in terms of memory usage (all of these features are already in the node.js binary).

Features

Bcrypto adds a number of features over the standard node.js crypto module.

Low-level APIs for popular public key algorithms:

  • DSA
  • RSA (PKCS1v1.5, OAEP, PSS)
  • ECDSA (p192, p224, p256, p384, p512, secp256k1)
  • EdDSA (ed25519, ed448)

Bcrypto includes specialized and optimized support specifically for secp256k1 and ed25519. Note that these crypto systems are preferred over the NIST curves (see the safecurves.cr.yp.to "rigidity" section).

Modern ciphers:

  • ChaCha20+Poly1305

Modern hash algorithms:

  • SHA3/Keccak
  • BLAKE2

Key Derivation:

  • bcrypt
  • scrypt
  • hkdf

Encoding:

  • ASN.1 Parsing & Serialization
  • SSH key parsing
  • PGP keyring parsing

Usage

const bcrypto = require('bcrypto');
// TODO

API

TODO

Contribution and License Agreement

If you contribute code to this project, you are implicitly allowing your code to be distributed under the MIT license. You are also implicitly verifying that all code is your original work. </legalese>

License

  • Copyright (c) 2017-2018, Christopher Jeffrey (MIT License).

See LICENSE for more info.