Paranoia Text Encryption - Format Specifications
(format version 2)

note: obsolete version, current version can be found here
Text Encryption Format

*A - Compression: Deflate algorithm. It's used only if the compressed data size is smaller than the uncompressed one.
*B - Encryption: Chosen algorithm in EAX mode. Tag size - chosen blockcipher block size or 256bit max.
*C - Salt: Chosen blockcipher block size or 256bit max.
*D - BASE64: BASE64 encoding without padding. "+" symbol is replaced by ")", "/" by "]". "!" symbol is attached as the last character. Alternative encodings: Base32 (RFC 4648), Numbers Only (0-9).
*E - Algorithm Codes:
• 0 = AES (256 bit)
• 1 = RC6 (256 bit)
• 2 = Serpent (256 bit) : (Bouncy Castle "Tnepres" implementation)
• 3 = Blowfish (256 bit)
• 4 = Twofish (256 bit)
• 5 = GOST28147 (256 bit)
• 6 = Blowfish (448 bit)
• 7 = Threefish (1024 bit) : (for PRO version)
• 8 = SHACAL-2 (512bit) : (for PRO version)

Key Derivation Function

A new key/nonce pair is generated by scrypt KDF for every single encryption operation. The pair is derived from Skein-1024 hash of a password using a random salt.

note: Characters that are not from ASCII range 32-126 are converted to unicode code point numbers (for example: password "contraseña" equals "contrase241a").

Scrypt Parameters:
N = 2048
r = 8
p = 5

Steganography (F5 - JPEG)

Text Encryption Format

*A - Steganography: F5 algorithm. Pseudorandom generator based on BLAKE2 hash function.
*B - Encryption: Exactly the same process and format as above - only the BASE64 encoding is excluded.
*C - Steganographic Key: Pseudorandom generator seed.

<< Other Specifications