Skip to content

The JavaScript/Typescript API library to Cosmian Cloudproof Encryption

License

Notifications You must be signed in to change notification settings

Cosmian/cloudproof_js

Repository files navigation

Cloudproof Javascript Library

Build status

The library provides a Typescript-friendly API to the Cloudproof Encryption product of the Cosmian Ubiquitous Encryption platform.

Licensing

The library is available under a dual licensing scheme Affero GPL/v3 and commercial. See LICENSE.md for details.

Cryptographic primitives

The library is based on:

  • CoverCrypt algorithm which allows creating ciphertexts for a set of attributes and issuing user keys with access policies over these attributes. CoverCrypt offers Post-Quantum resistance.

  • Findex which is a cryptographic protocol designed to securely make search queries on an untrusted cloud server. Thanks to its encrypted indexes, large databases can securely be outsourced without compromising usability.

  • FPE provides Format Preserving Encryption (FPE) techniques for use in a zero-trust environment. These techniques are based on FPE-FF1 which is described in NIST:800-38G.

  • Anonymization: Data anonymization is the process of transforming data in such a way that it can no longer be used to identify individuals without the use of additional information. This is often done to protect the privacy of individuals whose data is being collected or processed.

Getting started

Please check the online documentation for details on using the CloudProof APIs.

You can also look the examples directory for examples with multiple JS frameworks/technologies (the README of the examples folder can guide you to the best example for you use case).

Using in Javascript projects

This library is free software and is available on NPM public repository.

As a pre-requisite, the WASM binaries required for Findex and CoverCrypt must be fetched (or be manually copied from https://package.cosmian.com into src/pkg directory):

python3 scripts/download_wasm.py

And next:

npm i cloudproof_js

(version before 3.1.0 were called cosmian_js_lib)

Versions Correspondence

CoverCrypt and SSE Findex scheme are wrapped in WebAssembly libraries (WASM) in cloudproof_rust.

cloudproof_js Cloudproof Rust lib KMS Server
8.0.0 1.0.0 4.2.0
8.1.0 1.1.0 4.3.0
9.0.0 2.0.1 4.3.0
9.1.0,9.1.1 2.1.0 4.3.0
9.2.0 2.2.1 4.5.0
9.3.0 2.2.3 4.6.0
9.4.0,9.4.1 2.2.4 4.7.0
9.5.0 2.3.0 4.9.0
9.5.1 2.3.0 4.9.1
9.6.0 2.4.0 4.10.0
9.7.0 2.4.0 4.11.3