Commit Graph
42 Commits
Author SHA1 Message Date
Stephen Lombardo cf9fb1e077 rev to 2.1.1 2012-12-07 10:56:20 -05:00
Stephen Lombardo bea4a2c894 pragma to query cipher_hmac_pgno setting 2012-11-16 16:16:10 -05:00
Stephen Lombardo e8c819bcf8 sqlcipher_memset avoid's memset optimization 2012-11-16 15:05:33 -05:00
Stephen Lombardo ef3ca72e31 pragma to print hmac salt mask 2012-11-16 13:32:03 -05:00
Stephen Lombardo c76596b12d pragma to return fast_kdf_iter 2012-11-16 12:52:51 -05:00
Stephen Lombardo 41d4c53cb4 rework some pragma related interfaces 2012-11-16 12:42:41 -05:00
Stephen Lombardo caf3865b8b pragmas to override hmac salt mask and allow migration of 2.0 beta databases 2012-11-16 11:13:14 -05:00
Stephen Lombardo 9a6807e1b6 deactivation routine to call EVP_cleanup 2012-10-02 11:55:07 -04:00
Stephen Lombardo 48215584ab bump version to 2.1.0 due to functional change in hmac calculation 2012-07-18 14:50:47 -04:00
Stephen Lombardo f1ea44e3ef pragma allows le, be, or native pgno ordering plus tests 2012-07-18 11:21:12 -04:00
Stephen Lombardo 7f2b44c8e2 DRY up and inline pragma settings 2012-07-17 22:54:38 -04:00
Stephen Lombardo 96a7738587 move pragma handling logic into crypto.c 2012-07-17 17:18:17 -04:00
Stephen Lombardo 70ef31ff5d add flag for normalizing pgno in HMAC check 2012-07-17 16:45:02 -04:00
Stephen Lombardo 7a9b9e39a1 move hmac setting to flags on cipher context 2012-07-17 16:19:40 -04:00
Stephen Lombardo 6dbdd4663c bump to 2.0.6 2012-06-13 16:27:09 -04:00
Stephen Lombardo 06429ca622 fix issue with short page reads causing hmac failures with auto vacuum enabled 2012-06-13 13:34:14 -04:00
Stephen Lombardo bedfc5b588 add CODEC_HEXDUMP macro to print page data 2012-06-13 12:27:59 -04:00
Nick Parker 525243c689 Adding PRAGMA cipher_version to identify the current SQLCipher version,
also including test.
2012-05-17 07:59:43 -05:00
Stephen Lombardo f09f9f908a error out if key_sz is ever 0 due to context corruption 2012-05-15 20:48:10 -04:00
Stephen Lombardo 8f061f1a50 add pragma cipher_default_use_hmac to toggle global HMAC setting 2012-02-29 11:14:42 -05:00
Stephen Lombardo f7591e02fe rework hmac key derivation based on low iteration PBKDF2 with static salt mask 2012-01-12 23:42:55 -05:00
Stephen Lombardo 9c0dd8d449 improved HMAC key derivation
- ensure that the HMAC key derivation salt is different from
  that used to generate the encryption key
- allow the number of pbkdf2 iterations used for HMAC key
  derivation to be configured at runtime via pragma
2012-01-03 17:26:44 -05:00
Steven Parkes d1af70233a -ansi -pedantic -std=c99 warning clean 2011-05-09 15:22:44 -07:00
Stephen Lombardo 92e4ad7436 implementation of sqlcipher_export() function to copy schema and data between databases 2011-04-14 16:44:29 -04:00
Stephen Lombardo 76c1e11fe3 refactoring encryption interface so codec interface is separate from crypto implementation 2011-03-02 13:15:13 -05:00
Stephen Lombardo 7531bed022 allow HMAC behavior override via DEFAULT_USE_HMAC 2011-02-19 14:57:11 -05:00
Stephen Lombardo 59e8fd2113 change if to ifdef to placate VS 2010-08-28 08:31:38 -04:00
Stephen Lombardo 84e17044df sqlcipher compatibility changes for upstream 3.6.17 2009-08-11 16:49:37 -04:00
Stephen Lombardo 0acb34a113 Refactoring to allow algorithm selection and other prameters to be set at runtime
- add kdf_iter, cipher, rekey_kdf_iter, and rekey_cipher PRAGMAs to allow changing parameters
- introduction of cipher_ctx struct to store relavent cipher details for separate read and write operations
- simplified sqlite3Codec to make more understandable
- simplify encryption code for first database page
- simplify sqlite3_key and sqlite3_rekey, they now operate only on the main database only
- documentation updates for supporting functions
- reorganize tests to remove interdependencies between tests where possible
- add tests for converting between different ciphers
2009-06-07 22:51:43 -04:00
Stephen Lombardo 86376028f4 use PKCS5_PBKDF2_HMAC_SHA1 for improved compatibility with more widely distributed openssl libraries 2009-04-24 15:45:40 -04:00
Stephen Lombardo 8d52707aa1 Load salt and prepare key in sqlite3CodecAttach 2009-04-21 22:38:41 -04:00
Stephen Lombardo 74a60987ce a start towards allocating random salt in unused 16 byte header space at the start of the SQLite file 2009-04-21 17:36:53 -04:00
Stephen Lombardo 9a13dce6d4 initial implementation of PBKDF2 using SHA256 for key derivation 2009-04-21 16:32:07 -04:00
Stephen Lombardo 91ab560aec code cleanup to tighten up build warnings 2009-02-26 13:54:38 -05:00
Stephen Lombardo 88e6a2edf8 support amalgamated builds 2009-02-19 13:09:17 -05:00
Stephen Lombardo d85be36fd7 more fixes to licensing of code 2008-11-30 13:59:21 -05:00
Stephen Lombardo d9b3597d4b remove unused HDR_SZ definition 2008-08-09 08:48:26 -04:00
Stephen Lombardo 301a6beeef major simplification - allocate space at end of each page for random initialization vector 2008-08-09 08:13:30 -04:00
Stephen Lombardo 9546e71745 basic implimentation of sqlite3_rekey functionality. WARNING: currently only works on single page databses! 2008-08-04 15:46:58 -04:00
Stephen Lombardo 36dc72d361 updates to note public domain license and readme 2008-07-30 13:33:57 -04:00
Stephen Lombardo a45a181cee switch digest to sha256 (requires sha256 support in openssl); allow setting a passphrase instead of raw blob key; update readme 2008-07-30 13:15:55 -04:00
Stephen Lombardo 11dd40da8d baseline working encryption plugin and build rules (hex key only) 2008-07-30 10:43:21 -04:00