An Efficient and Secure Post-Quantum Multi-Authority Ciphertext-Policy Attribute-Based Encryption Method Using Lattice
This project contains the implemented codebase for the methods and procedures described in above paper.
How to Run:
python main.py
Set parameters in config.py:
- (N) number of authorities
- (f) degree of polynomial - power of 2
- (q) large prime number
- (m) positive integer of form
$\lfloor(\log_b(q) + 1)\rfloor + 2$ - (attr) number of attributes
- (V) parameter for linear combination of z
-
AA.py - Authoriy
- AASetup
- SecretKey
- Decryption
-
KGC.py - Key Generation Center
- Setup
-
User.py
- Access Control
- Encryption
-
algo
- TrapGen (proxy to be replaced)