[FILE_HEADER][IV_KEY][IV_HASH][PASSWORD_CHECK][ENCRYPTED_DATA][DATA_HASH][EOF_MARKER]
- Magic bytes:
PV2 - Identifies file format
- AES initialization vector
- Optional (may be stored in separate
.ivkeyfile)
- SHA-256 hash of IV_KEY
- Used for integrity verification
- Encrypted known plaintext (
EPV2FILE) - Used for password verification
- Data encrypted using AES-256 in EAX mode
- Block size determined by available system RAM
- SHA-256 hash of encrypted data
- Used for integrity verification
- End-of-file marker:
EOF
- 16-byte IV when using separate storage
- Named as
[original]_N.ivkey
- SHA-256 hash of password in hex format
- Named as
[original]_N.rkey
- Verify FILE_HEADER
- Check IV_HASH matches computed IV
- Verify PASSWORD_CHECK decrypts correctly
- Validate DATA_HASH before decryption
- Confirm EOF_MARKER exists
00000000: 50 56 32 00 01 23 45 67 89 AB CD EF 01 23 45 67 PV2..#Eg.....#Eg
00000010: 89 AB CD EF A1 B2 C3 D4 E5 F6 01 23 45 67 89 AB ...........#Eg..
00000020: CD EF 01 23 45 67 89 AB CD EF 01 23 45 67 89 AB ...#Eg.....#Eg..
00000030: CD EF 01 23 45 67 89 AB CD EF 01 23 45 67 89 AB ...#Eg.....#Eg..
00000040: [Encrypted Data Block] [Binary]
0000XXXX: [SHA-256 Hash] [Hash]
0000YYYY: EOF EOF