@blockswaplab/cryptography
v2.2.0
Published
Cryptography package to be used throughout the Blockswap ecosystem
Downloads
84
Readme
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.
:warning: Please note: This package version (2.x.x) is incompatible with the previous ones due to the changes in the following procedures:
- DH key exchange for AES-CBC key formation
- Fixed NIZK proofs formation and verification
Overview
The package is mostly containing Nodejs wrappers for C++ programs written by using OpenSSL.
Package can be compiled by the following command:
yarn build
Modules
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 :
Commit message should be// Sample package.json file { "name": "@blockswaplab/cryptography", "version": "1.1.0", "description": "Cryptography package to be used throughout the Blockswap ecosystem", "main": "index.js" }
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 beFixed 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.