SQLCipher is an encrypted SQLite database engine and secure relational database that provides transparent AES-256 encryption for database files and stored data. It functions as a cryptographic storage engine that requires a passphrase or binary key to unlock and access content.
The engine ensures data confidentiality through page-level encryption and protects data integrity using cryptographic hashes to detect unauthorized modifications. It includes capabilities for encryption key rotation to update passphrases and secure memory locking to prevent sensitive keys from being swapped from RAM to disk.
The project covers a broad set of capabilities including database file management, SQL query execution via a command-line interface, and support for external engine extensions. It also provides mechanisms for cross-database data migration and database format migration to maintain compatibility between versions.
The source code can be compiled into a functional engine or command-line tool for Unix and Windows platforms using a C compiler.