The problem I have is next:
- There's the centralized DataBase app which has its own private key and sends its public key to its customers.
- Each customer has its own private key and should be able to use the combination of his own key and DB app's public key to encrypt its own data.
- The encrypted data will be visible/available on the network to all third parties.
- Both DB app and customer should be able to decrypt the data. Each customer only its own data.
What's the best solution to achieve something like this?