Thanks Igor, 
So if the data  is indexed prior to the encryption step, does SQLite manage 
that index internally as a Btree that s stored somewhere? Is it part of the 
MASTER database?

Obviously there would be a security issue if the index is accessible as per 
this:
http://blogs.msdn.com/lcris/archive/2005/12/22/506931.aspx

If I am storing CC# or SS#, the index would contain them yes?



Igor Tandetnik <[EMAIL PROTECTED]> wrote: Derek Developer
 wrote:
> Thank you for your replys, but I am still not sure I understand how a
> Query is executed on (page) encrypted data wihout either indexing the
> data prior to encrption, creating a secondary hash column of the data
> or simply decrypting every page to get at the underlying data?

The data _is_ indexed prior to encryption (assuming you did create an 
index on the appropriate column, of course), then the pages containing 
the index are themselves encrypted when written to the file (and 
decrypted when read back, of course).

Encryption is built into the I/O. Whenever a page-worth of data is read 
from disk, it is decrypted right afterwards. When a page is written, 
it's encrypted right before. The I/O engine doesn't care what kind of 
data is on that page - it's only concerned about shuffling bytes in and 
out of storage. The database engine doesn't care whether the file is 
encrypted or not - it always gets plaintext pages from I/O subsystem.

Igor Tandetnik 



_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


       
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to