File size: 1,704 Bytes
0081600
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Security Notes

HVCE v4 includes password-based authenticated encryption, but it is a reference implementation, not a professionally audited security product.

## Password mode

The archive encrypts the private manifest and payload together. File names and directory structure are not visible without the password.

Primitive stack:

```text
PBKDF2-HMAC-SHA256 -> 64 bytes
32-byte key 1 -> ChaCha20 stream encryption
32-byte key 2 -> HMAC-SHA256 authentication
```

Default KDF iterations: `300000`.

Use:

```bash
python hvce.py compress folder secure.hvce --ask-password --recovery-percent 10
python hvce.py extract secure.hvce restored --ask-password
```

## Why symmetric-only is used

The v4 “post-quantum” security stance avoids RSA/ECC public-key wrapping in the archive format. Symmetric 256-bit keys retain a large margin against generic quantum search, assuming strong passwords and sufficient KDF work.

## Threat model

Provides:

- confidentiality against attackers without the password;
- filename and metadata privacy when encrypted;
- tamper detection before decryption;
- extraction verification with SHA-256;
- recovery against limited storage corruption when recovery records are present.

Does not provide:

- protection from weak passwords;
- protection from malware on the machine that captures passwords;
- deniable encryption;
- independently audited cryptographic assurance;
- legal/compliance certification.

## Recommended use

For important personal archives, use:

```bash
python hvce.py compress input output.secure.hvce --profile balanced --ask-password --recovery-percent 10
```

Keep at least one external backup. Recovery records are not a substitute for backups.