*A - Compression: Zip64 archive; DEFLATE or "store only"; CRC32 for each file within archive; *B - Encryption: Chosen algorithm in CTR mode; *C - Random data block: Random characters ("a-z" and "0-9" only); Quick password verification; *D - MAC: BLAKE3 in authentication mode; 256 bits; Encrypt-then-Authenticate; *E - Version: Format version = 4; *F - Algorithm Codes:
*G - Custom KDF parameters: related to Argon2id; lower 4 bits for t parameter multiplier; higher 4 bits for m; t = tbase * 2^multiplier;
Key Derivation Function
• STEP 1: HKDF(password)
(Skein-1024 based HKDF; Stored in device's RAM during session; 2048 bits;)
• STEP 2: Argon2id(STEP 1, salt)
(New run (new salt) for every single encryption operation; 2048 bits;)
• STEP 3: 3 x HKDF(STEP 2)
(SHA3-512 based HKDF; For encryption key, authentication key (256 bits), and nonce;) Notes:
• For cascaded algorithms, a longer key and nonce is generated in step 3, which are then split to get unique key and nonce for each algorithm.
• Characters that are not from ASCII range 32-126 are converted to unicode code point numbers (for example: password "contraseña" equals "contrase241a"). Argon2id Base Parameters:
t = 10
m = 10240 kB
h = 4