The library provides a Python API to the Cloudproof Encryption product of the Cosmian Ubiquitous Encryption platform.
- Licensing
- Cryptographic primitives
- Getting started
- Demo
- Building and testing
- Versions Correspondence
The library is available under a dual licensing scheme Affero GPL/v3 and commercial. See LICENSE.md for details.
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
This library requires Python >= 3.7
.
To install the current release:
pip install cloudproof_py
Code examples are available in ./examples to get you started. Please check the online documentation for more details on using the CloudProof APIs.
An interactive CLI demo combining policy-based encryption with searchable keywords.
Users data from ./examples/cli_demo/data.json
are encrypted using Covercrypt and indexed via Findex.
Try the demo:
examples/cli_demo/run_demo.sh
To build from source:
scripts/build.sh
To build and run the tests:
scripts/build.sh -t
With PyO3 packages from package.cosmian.com:
scripts/build.sh -it
Note: edit scripts/ci_install_pyo3_builds.sh with the right build name.
To build the documentation:
scripts/build.sh -d
The generated documentation will be in ./docs/_build/html
.
This library depends on Covercrypt and Findex.
This table shows the minimum version correspondence between the various components.
cloudproof_py |
Covercrypt | Findex | KMS |
---|---|---|---|
>=4.2.0 | 13.0.0 | 6.0.0 | 4.10.0 |
>=4.1.0 | 12.0.0 | 5.0.0 | 4.5.0 |
>=4.0.2 | 11.0.0 | 4.0.1 | 4.4.3 |
>=4.0.1 | 11.0.0 | 4.0.1 | 4.4.2 |
>=4.0.0 | 11.0.0 | 4.0.0,4.0.1 | 4.3.3 |
>=3.0.0 | 11.0.0 | 3.0.0 | 4.3.3 |
>=2.0.0 | 10.0.0 | 2.0.1,2.1.0 | 4.2.0 |
>=1.0.0 | 8.0.1 | 2.0.0 | - |