Search code examples
encryptionnosqlrocksdb

Encryption at rest for RocksDB


I am exploring options to implement encryption at rest for RocksDB data which I am using in one application (that is, I don't have to store the key in the data, I can calculate it in runtime). Ideally, it should be DES.

Are there easy plugins or libraries specifically for RocksDB, or I will have to improvise?


Solution

  • There is nothing that I know of. In terms of implementation you have a few options:

    1. Handle the encryption in your app. Rocks doesn't care what you store in it, just that keys are comparable. So you just need to design a sensible key encoding.

    2. You could use the StackableDB feature of Rocks to implement something between your app and Rocks to handle the encryption. You would still have to design a key encoding for your data.

    3. Look at how compression is implemented in Rocks try to implement something at that level if appropriate