About

SQLCipher is an open source library that provides transparent, secure 256-bit AES encryption of SQLite database files.

SQLCipher acts as a security extension to the SQLite database platform that facilitates the creation of encrypted databases. It uses the internal SQLite Codec API to insert a callback into the pager system that can operate on database pages immediately before they are written to and read from storage. Thus, SQLCipher's encryption is designed to be:

  • Transparent – An application doesn’t require any special knowledge of the underlying database security. Applications use the standard SQLite API to manipulate tables using SQL. Behind the scenes the library silently manages the security.
  • On-the-fly – SQLCipher encrypts and decrypts in chunks called pages, as needed, so it doesn’t operate on the database all at one time. This means SQLCipher
    • starts up and closes down quickly
    • performs very well even with very large databases
    • works with SQLite indexing (i.e. retrieving a single record using an indexed search can incur as little as 5% overhead above a standard SQLite database)

SQLCipher has a small footprint and great performance so it’s ideal for protecting embedded application databases and is well suited for mobile development.

More Resources

  • Design – Design philosophy and security features
  • API – Security-specific extensions in the form of PRAGMAs, SQL Functions, and C Functions
  • Documentation – How to integrate SQLCipher into your projects and products
  • Commerical Edition – Purchase official SQLCipher Packages
  • Community Edition – Download SQLCipher Community Edition code
  • License – Information regarding the licensing of SQLCipher

Key Features

  • Broad platform support
  • Blazing fast performance with as little as 5-15% overhead for encryption
  • 100% of data in the database file is encrypted
  • Uses security practices best practices (CBC mode, key derivation)
  • Zero-configuration and application level cryptography
  • Algorithms provided by the peer reviewed OpenSSL crypto library

History

SQLCipher was originally developed and is currently maintained by Zetetic LLC. The public release of SQLCipher was released in November, 2008. At first, SQLCipher was solely used as the security backend for our password manager and data vault, Codebook. However, with it's its small footprint and excellent performance, it quickly became a popular security tool, especially for mobile developers. SQLCipher is ideal for protecting application data of all kinds. SQLCipher uses peer-reviewed cryptographic providers and algorithms to ensure that all data in encrypted databases is secured. Simple configuration and good default security practices reduce the burden on developers implementing security solutions. Likewise, broad platform support across iOS, Android, Windows, macOS, and Linux environments, with cross-platform database compatibility, ensures that SQLCipher will work anywhere it's needed. For these reasons, SQLCipher is now one of the most widely used secure database solutions available, protecting data for thousands of applications on hundreds of millions of devices.

SQLCipher is available under multiple license models covering open source, commercial and enterprise utilization.