Comment by jedisct1

17 hours ago

"Sqlite [...] encryption extension is a $2000 add-on".

SqliteMultipleCiphers has been around for ages and is free https://utelle.github.io/SQLite3MultipleCiphers/

And Turso Database supports encryption out of the box: https://docs.turso.tech/tursodb/encryption

How do you use these in practice? Both Python and Go don’t make it easy to link a different variation of SQLite with one of these plugins compiled in. How do you make it work?

  • I don't think SqliteMultipleCiphers can be built into a runtime loadable extension (and the Turso thing is just a copy of it).

    I'm confident that a scheme based on tweakable block cyphers (like Adiantum or AES XTS) could be made into decent runtime loadable extension.

    I implemented such schemes for my Go driver, but Go code is not really ideal to make a runtime loadable extension of (it'd have to be ported to C/Rust/zig).

    https://news.ycombinator.com/item?id=40208800