The first 100 bytes of an SQLite database form the header. Most of it is fixed data.

In encryption if we have a known plain data this helps an attacker to try to discover the encryption key.

For this reason the database header is not encrypted by default, but you have a total of 3 options:

1. Do not encrypt the db header (default).2. Do not encrypt the db header and use a custom header string to decrease chance of identifying the file type.3. Encrypt the db header but do not encrypt the bytes 16-23 from it (required by SQLite).

The default header string is "SQLite format 3". To enable the use of a custom header compile litereplica with:

CODEC_USE_CUSTOM_HEADERCODEC_CUSTOM_HEADER="ExampleNewHeader"

The custom header string must be 15 or 16 bytes long. If using 15, the last one will be a null terminator.

To encrypt the database header compile litereplica with:

CODEC_ENCRYPT_DB_HEADER

Feel free to ask questions in the general discussion forum or via e-mail.