Skip to main content

Module header

Module header 

Source
Expand description

Encrypted Database Header

Stores encryption parameters and key verification data. This header is stored in the clear (in Page 0, potentially) or a separate header file? The Pager uses Page 0 for DatabaseHeader. Usually, encryption parameters are part of the DatabaseHeader or stored alongside it.

Since DatabaseHeader in pager.rs is fixed structure (u32 fields), we might need to extend it or use a separate page (e.g. Page 1?) or just reserved bytes in Page 0? HEADER_SIZE in page.rs is 32 bytes. A standard 4KB page has plenty of room.

We will implement serialization for this header so it can be embedded in Page 0 after the main header.

Structs§

EncryptionHeader
Header containing encryption parameters

Constants§

KEY_CHECK_LEN
SALT_SIZE