This page contains a list of software tools created by the CSL lab. please contact the respective authors if you have any questions regarding these tools

Key-Policy Attribute-Based Encryption Scheme Implementation

The static linux library libcelia, and the toolkit kpabe provide a set of programs that implement a key-policy attribute-based encryption scheme. These programs are created during our privacy-preserving personal health record (PHR) project.

In a key-policy attribute-based encryption KP-ABE scheme, ciphertexts are labelled with sets of attributes. Private keys, on the other hand, are associated with access structures. A private key can only decrypt a ciphertext whose attributes set is a authorized set of the private key's access structure. For Example, when encrypting a PHR file, the ciphertext can be labelled with attributes such as medication, surgical profile, etc. While, the private keys are associated with access structures which only allow users to decrypt ciphertexts labelled with both medication and surgical profile attributes.

The static linux library libcelia is a subroutine library implementing KP-ABE operations. For this version, the library implements Setup, Encryption, Key Generation and Decryption algorithms. Key Update and Delegation will be included in the future version. The toolbox kpabe implements the high level functions and shell interface of KP-ABE scheme.

The source code of libcelia can be downloaded from here

The source code of kpabe can be downloaded from here

Further reference of these programs and PHR system can be found from Dr. Ming Li's doctoral dissertation and Yao Zheng's master thesis. If you use our library for research purposes, please cite these two articles as references.

If you have any further questions or find any bugs, please email Yao Zheng