2.2.0 • Public • Published

Blockswap Cryptography

This NPM package is dedicated for company-wide cryptographic applications. The package is currently used in Deposit Router and Common Interest Protocol projects.

⚠️ Please note: This package version (2.x.x) is incompatible with the previous ones due to the changes in the following procedures:

  1. DH key exchange for AES-CBC key formation
  2. Fixed NIZK proofs formation and verification


The package is mostly containing Nodejs wrappers for C++ programs written by using OpenSSL.

Package can be compiled by the following command:

  yarn build


The package contains several useful modules:

  • credentials - AES credential generation module
  • compute - Computational operation performance on elliptic curve objects
  • crypto - AES encryption/decryption toolkit
  • dkg - Utilities for DKG procedure
  • handover - Utilities for handover procedure
  • key_recovery - Key recovery module
  • proofs - NIZK proof toolbox for proving properties about the encrypted data

Making commits to the repository (For the Devs)

The repository uses github workflow to automatically publish to NPM registry. In order to publish the SDK, there are following criterias which must be followed :

  • The version in package.json must be updated
  • The commit message must be Release <VERSION_IN_PACKAGE.JSON>

In order to commit a change but not publish it to NPM, try not to follow either of the above mentioned criteria
Both, merge as well as commit to main branch are treated equally, hence make commit accordingly.
Also note that, upon commit, there are 2 actions that will take place: build and npm-publish. Both should pass in order to publish the package.

Example commit

  • To publish to NPM :
    // Sample package.json file
        "name": "@blockswaplab/cryptography",
        "version": "1.1.0",
        "description": "Cryptography package to be used throughout the Blockswap ecosystem",
        "main": "index.js"
    Commit message should be Release 1.1.0. If there are no build errors, all tests pass, the SDK should be published.
  • To not publish to NPM :
    Commit message can be Fixed a bug. This means, that neither the package version was updated nor the commit message pattern was followed. But, the SDK will still be checked if it can be built and run the tests.



Package Sidebar


npm i @blockswaplab/cryptography

Weekly Downloads






Unpacked Size

428 kB

Total Files


Last publish


  • blockswapnpm