I'm currently working on a proposal for some secure complete system and one of the things currently lacking is the database security.
However I don't want to roll my own crypto there and thereby need a secure, somewhat reviewed / standard way to cryptographically secure the databases.
I had a look at CryptDB for this but it lacks authentication which I consider needed and I couldn't easily find out what ZeroDB provides except "end-to-end" encryption.
What is the best cryptography based database currently specified / available?
My definition of "best" in this case: Provides authenticity and secrecy (most important), provides integrity over the whole database (no silent dropping of data), leaks as less information to the server as possible, doesn't have to hide access patterns, allows for complex (cryptographically enforced) access rules.
It can be assumed that the clients do use / own public / private key pairs and / or passwords and everyone without valid keys is considered an adversary to the data he doesn't have access to, i.e. attackers may not undetected modify, add or drop data or being able to read the data if they have compromised everything except the client.
The server should hold the only copy of the database and should not have to give it out (due to size) if possible. As for the API, more standard APIs (SQL?) are preferred but custom ones are also acceptable as long as they support the usual queries (like ZeroDB and CryptDB do).