Back to Libsql

Source files of the wxSQLite3 encryption extension

libsql-ffi/bundled/SQLite3MultipleCiphers/src/filelist.md

0.21.95.1 KB
Original Source

Source files of the wxSQLite3 encryption extension

The following document gives a short overview of all source files of which the SQLite3 Multiple Ciphers encryption extension consists.

Kernel of the wxSQLite3 encryption extension

The following files constitute the kernel of the SQLite3 Multiple Ciphers encryption extension:

FilenameDescription
cipher_common.cImplementation of the common cipher functions
cipher_common.hHeader for the common cipher functions
cipher_config.cCommon cipher configuration functions
cipher_wxaes128.cImplementation of the wxSQLite3 AES 128-bit encryption extension
cipher_wxaes256.cImplementation of the wxSQLite3 AES 256-bit encryption extension
cipher_chacha20.cImplementation of the ChaCha20-Poly1305 encryption extension
cipher_sqlcipher.cImplementation of the SQLCipher encryption extension
cipher_sds_rc4.cImplementation of the System.Data.SQLite RC4 encryption extension
codec_algos.cImplementation of the encryption algorithms
codecext.cImplementation of the SQLite3 codec API
rekeyvacuum.cAdjusted VACUUM function for use on rekeying a database file
sqlite3mc.cAmalgamation of the complete SQLite3 Multiple Ciphers encryption extension
sqlite3mc.hHeader for the additional API functions of the SQLite3 Multiple Ciphers encryption extension
sqlite3mc_vfs.cImplementation of the Multiple Ciphers VFS
sqlite3mc_vfs.hHeader for the additional API functions of the Multiple Ciphers VFS

All files, except rekeyvacuum.c, are licensed under the MIT license.

rekeyvacuum.c contains a slightly modified implementation of the function sqlite3RunVacuum from the SQLite3 and stays in the public domain.

Cryptograhic algorithms

The following files contain the implementations of cryptographic algorithms used by the wxSQLite3 encryption extension:

FilenameDescription
chacha20poly1305.cImplementation of ChaCha20 cipher and Poly1305 message authentication
fastpbkdf2.cImplementation of PBKDF2 functions
fastpbkdf2.hHeader for PBKDF2 functions
md5.cImplementation of MD5 hash functions
rijndael.cImplementation of AES block cipher
rijndael.hHeader for AES block cipher
sha1.cImplementation of SHA1 hash functions
sha1.hHeader for SHA1 hash functions
sha2.cImplementation of SHA2 hash functions
sha2.hHeader for SHA2 hash functions

The files chacha20poly1305.c, fastpbkdf2.*, md5.c, and sha1.* are in the public domain.

The files rijndael.*, are licensed under LGPL-3.0+ WITH WxWindows-exception-3.1.

The files sha2.* are licensed under BSD-3-Clause.

Windows-specific files

The following files are only used under Windows platforms for creating binaries:

FilenameDescription
sqlite3mc.defModule definition specifying exported functions
sqlite3mc.rcResource file specifying version information for the SQLite3MultipleCiphers library
sqlite3mc_shell.rcResource file specifying version information for the SQLite3MultipleCiphers shell

All files are licensed under the MIT license.

SQLite3 core

The following files belong to the SQLite3 core:

FilenameDescription
shell.cSQLite3 shell application
sqlite3.cSQLite3 source amalgamation
sqlite3.hSQLite3 header
sqlite3ext.hSQLite3 header for extensions
test_windirent.cSource for directory access under Windows used by fileio extension
test_windirent.hHeader for directory access under Windows used by fileio extension

All files are in the public domain.

SQLite3 extensions

The following files belong to SQLite3 extensions contained in the official SQLite3 distribution:

FilenameDescription
carray.cTable-valued function that returns the values in a C-language array
csv.cVirtual table for reading CSV files
fileio.cFunctions readfile and writefile, and eponymous virtual table fsdir
series.cTable-valued-function implementing the function generate_series
shathree.cFunctions computing SHA3 hashes
sqlite3userauth.hHeader for user-authentication extension feature
userauth.cUser-authentication extension feature (modified password hash function)
uuid.cFunctions handling RFC-4122 UUIDs

All files are in the public domain.

External SQLite3 extensions

The following file was posted to the SQLite mailing list:

FilenameDescription
extensionfunctions.cThe extension provides common mathematical and string functions

The file extensionfunctions.c does not contain any specific license information. Since it was posted to the SQLite mailing list, it is assumed that the file is in the public domain like SQLite3 itself.