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