This is a C++ implementation of the algorithm given in Section 7 of Locally Verifiable Signature and Key Aggregation. The implementation is based on the C library pbc for pairings.
- Run
make
- Run
./encrypttest
The implementation uses a type A pairing (See PBC manual):
https://crypto.stanford.edu/pbc/manual.pdf
The parameters of this pairing are given in the file "a.param"
The hash function considered for mapping from the message space to the prime field space is the Identity Map. The parameter B for the public key, as well as the parameter T for maximum aggregations for secret keys can be modified form the file Param.cpp
The DPP algorithm used is the one of "https://www.researchgate.net/publication/221425410_Fully_Collusion_Secure_Dynamic_Broadcast_Encryption_with_Constant-Size_Ciphertexts_or_Decryption_Keys"