#encryption-decryption #sqlite #reserve

yanked sqlcrypto

sqlite encryption/decryption

1.0.1 Jan 14, 2021
1.0.0 Nov 17, 2020
0.2.1 Oct 9, 2020
0.1.2 Oct 8, 2020
0.0.5 Oct 8, 2020

#36 in #reserve

MIT license

14KB
266 lines

SQLCrypto

Latest Version Rust Documentation

SQLCrypto is a pure Rust port of pysqlsimplecipher, a utility to decrypt and encrypt SQLite databases.

⚠ Incomplete encryption implementation ️⚠️

Encryption works for databases that have reserves, however databases without them; cannot be encrypted. Support for them will be added soon, however they will be more expensive to encrypt.

Performance

SQLCrypto, by default, does not parallelize. You can enable parallelization support through enabling the parallel feature flag, significantly boosting performance. Additionally, the aes dependency crate allows you to use aesni, if you change some rustc flags; which will boost performance significantly.

With parallelization + aesni, a database that took an upward amount of 300+ seconds in decryption with pysqlsimplecipher; took <40 ms in decryption and <80 ms in encryption.

Additional notes

Not fuzz tested!

Dependencies

~0.8–1.5MB
~30K SLoC