Cross-platform C implementation of the Boneh-Franklin Identity-based Encryption system as described in RFC 5091, the Hess Identity-based Signature protocol described in Hess-IBS and the BSW Ciphertext-Policy Attribute-based Encryption described in BSW CP-ABE.
CryptID.native provides the foundation of CryptID.js which is a WebAssembly library mainly targeting browsers.
If you're new to CryptID and Identity-based Encryption, then make sure to check out the CryptID Getting Started guide.
CryptID requires the following components to be present:
- gcc 5+,
- Node.js v8+,
- GMP 6+.
- Please note, that GMP-LAWL is not capable of integrating with CryptID.native in a stable manner yet. Thus, the use of the vanilla GMP library is advised.
A static library can be created using the following command:
./task.sh build
The resulting library (libcryptid.a
) will be placed in the build
directory.
The example codes for every feature of the library is located in the examples
directory.
CryptID.native is licensed under the Apache License 2.0.
Licenses of dependencies:
This work is partially 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 and by the 2018-1.2.1-NKP-2018-00004 Security Enhancing Technologies for the Internet of Things project.