Inner-Product Functional Encryption with Fine-Grained Access Control