CredifyCryptoJS
Crypto related functions and helpers for JavaScript implemented in TypeScript.
How to install
NPM
// yarn
$ yarn add credify-crypto
// npm
$ npm install credify-crypto
CDN
<script src="https://cdn.jsdelivr.net/npm/credify-crypto@0.19.0/dist/index.min.js"></script>
How to use
Encryption
import { Encryption } from "credify-crypto";
const privateKeyPem =
`-----BEGIN PRIVATE KEY-----
MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQDrEavVupOf+G7U
83oh0TKLK0U+9BdY4cgPCe66gyLodY9NF7+r9NgZHlsSOaXXTCEJOo8/rb+JFW34
....
agUydf7cXbP1YoOBizTgt/WBiQk47Ym4JvEWDTHmEsT4snYjujiMvAlAS37JyvWD
osQZlO5eDVv0XR3aNy5pOR/ouC0o8a8=
-----END PRIVATE KEY-----`;
const cipherText = "XGI1icHgMVuTvYLMEwXp...YCfEqkHxv5FdyWaw=";
const encryptionSample = async () => {
const encryption = new Encryption();
await encryption.importPrivateKey(privateKeyPem);
const plainText = await encryption.decryptBase64StringToString(cipherText);
console.log(plainText);
}
Signing
import { Signing } from "credify-crypto";
const privateKeyPem = `-----BEGIN PRIVATE KEY-----
MC4CAQAwBQYDK2VwBCIEIPqO4b4UtXSaWGp5u38rCXYu4/LdbaSk7lD46LtRUu44
-----END PRIVATE KEY-----`;
const message = "test message";
const signing = new Signing();
signing.importPrivateKey(privateKeyPem);
const sign = signing.sign(message, { input: "utf8" });
const verified = signing.verify(message, sign);
console.log(verified)
Asymmetric Encryption
CredifyCryptoJS supports RSA encryption with 4096 bit length keys. Its padding scheme uses OAEP.
Signing
CredifyCryptoJS utilizes EdDSA. This supports Curve25519.
PKCS #8
In order to simply deal with private keys, this leverages PKCS #8.
More information
https://developers.credify.one/
Requirements
License
CredifyCryptoJS is released under the MIT license. See LICENSE for details.