@cryptid/cryptid-js

1.0.1 • Public • Published

npm version License

Cross-platform Identity-based Encryption solution.

CryptID.js

Browser-friendly Identity-based Encryption library powered by WebAssembly.

If you're new to CryptID and Identity-based Encryption, then make sure to check out the CryptID Getting Started guide.

Install

CryptID.js is available via NPM:

$ npm install --save @cryptid/cryptid-js

Using CryptID.js

Below you can find a small example that sets up an IBE system instance, and then encrypts and decrypts a message:

const CryptID = require('@cryptid/cryptid-js');

(async function main() {
    const instance = await CryptID.getInstance();

    const setupResult = instance.setup(CryptID.SecurityLevel.LOWEST);

    if (!setupResult.success) {
        console.log('Failed to setup :(');
        return;
    }

    const message = 'Ironic.';
    // Name is somewhat unique among Sith Lords :)
    const identity = {
        name: 'Darth Plagueis'
    };

    const encryptResult = instance.encrypt(setupResult.publicParameters, identity, message);
    if (!encryptResult.success) {
        console.log('Failed to encrypt :(');
        return;
    }

    const extractResult = instance.extract(setupResult.publicParameters, setupResult.masterSecret, identity);
    if (!extractResult.success) {
        console.log('Failed to extract :(');
        return;
    }

    const decryptResult = instance.decrypt(setupResult.publicParameters, extractResult.privateKey, encryptResult.ciphertext);
    if (!decryptResult.success) {
        console.log('Failed to decrypt :(');
        return;
    }

    console.log(decryptResult.plaintext);
})();

License

CryptID.js is licensed under the Apache License 2.0.

Licenses of dependencies:

Acknowledgements

This work is supported by the construction EFOP-3.6.3-VEKOP-16-2017-00002. The project is supported by the European Union, co-financed by the European Social Fund.

CryptID

Package Sidebar

Install

npm i @cryptid/cryptid-js

Weekly Downloads

1

Version

1.0.1

License

Apache-2.0

Unpacked Size

686 kB

Total Files

9

Last publish

Collaborators

  • adamvecsi
  • battila7