I need a simple message scheme where a sender can send a private message to a receiver using a public database and without relieving who the receiver. All parties have an Elliptic Curve public and private key pair.
Is there a searchable encryption scheme for this? I imagine the sender can encrypt the recipient's public key (like a "to" field) with the recipient's public key and store that as a searchable token attached to the message. The receiver can use their private key to construct a search token and send that to the server. The server searches the cipher text to fetch message. The server should not not known which record was returned.
Some sort of paging or multi-message support will be needed as more than one message may be sent. The heavy lifting should be done on the server, the clients are limited in bandwidth and network. This will be a large data-set.
Am I on the right track here with searchable encryption? It looks like homomorphic encryption is over-kill. I'm not sure how to solve the paging problem or if this searchable encryption is mature enough for the task.