Você pode usar a criptografia interna do provedor sqlite .net (System.Data.SQLite). Veja mais detalhes em http://web.archive.org/web/20070813071554/http://sqlite.phxsoftware.com/forums/t/130.aspx
Para criptografar um banco de dados não criptografado existente ou para alterar a senha de um banco de dados criptografado , abra o banco de dados e use a função ChangePassword () de SQLiteConnection:
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.Open();
cnn.ChangePassword("mypassword");
Para descriptografar uma chamada de banco de dados criptografada existenteChangePassword() com uma senha NULLou "":
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3;Password=mypassword");
cnn.Open();
cnn.ChangePassword(null);
Para abrir um banco de dados criptografado existente ou para criar um novo banco de dados criptografado, especifique uma senha ConnectionStringcomo mostrado no exemplo anterior ou chame a SetPassword()função antes de abrir um novo SQLiteConnection. As senhas especificadas no ConnectionStringdevem ser em texto não criptografado, mas as senhas fornecidas na SetPassword()função podem ser matrizes de bytes binários.
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.SetPassword(new byte[] { 0xFF, 0xEE, 0xDD, 0x10, 0x20, 0x30 });
cnn.Open();
Por padrão, a palavra-chave ATTACH usará a mesma chave de criptografia do banco de dados principal ao anexar outro arquivo de banco de dados a uma conexão existente. Para alterar esse comportamento, você usa o modificador KEY da seguinte maneira:
Se você estiver anexando um banco de dados criptografado usando uma senha de texto não criptografado:
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.Open();
cmd = new SQLiteCommand("ATTACH DATABASE 'c:\\pwd.db3' AS [Protected] KEY 'mypassword'", cnn);
cmd.ExecuteNonQuery();
Para anexar um banco de dados criptografado usando uma senha binária:
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.Open();
cmd = new SQLiteCommand("ATTACH DATABASE 'c:\\pwd.db3' AS [Protected] KEY X'FFEEDD102030'", cnn);
cmd.ExecuteNonQuery();