Subversion Repositories decoder

Compare Revisions

Regard whitespace Rev 23 → Rev 24

/trunk/Private/dc4-spec.txt
376,13 → 376,13
- Original name in its entirety (foobar.txt)
- Just its extension (*.txt)
- Redacted (empty string)
Long 4 DEC 6.0 Idendity-Base; Default Idendity-Base: 0x1259D82A.
Long 4 DEC 6.4 Idendity-Base; Default Idendity-Base: 0x1259D82A.
Backwards compatible with DEC 5.1c. Also, the following internal renaming is applied
to ensure that the identity base is equal to DEC 5.1c:
- TCipher_AES (DEC 6.0) will be renamed to TCipher_Rijndael (DEC 5.1)
- THash_Whirlpool0 (DEC 6.0) will be renamed to THash_Whirlpool (DEC 5.1)
- THash_SHA0 (DEC 6.0) will be renamed to THash_SHA (DEC 5.1)
Long 4 DEC 6.0 Cipher idendity. If the default identitiy base 0x1259D82A is used, then the identities are:
- TCipher_AES (DEC 6.4) will be renamed to TCipher_Rijndael (DEC 5.1)
- THash_Whirlpool0 (DEC 6.4) will be renamed to THash_Whirlpool (DEC 5.1)
- THash_SHA0 (DEC 6.4) will be renamed to THash_SHA (DEC 5.1)
Long 4 DEC 6.4 Cipher idendity. If the default identitiy base 0x1259D82A is used, then the identities are:
0x14CEB4D7 TCipher_1DES (KeySize: 8, BlockSize: 8, BufferSize: 8)
0x366FED8E TCipher_Mars (KeySize: 56, BlockSize: 16, BufferSize: 16)
0xA2EC8332 TCipher_Skipjack (KeySize: 10, BlockSize: 8, BufferSize: 8)
418,7 → 418,7
0x746053B7 TCipher_RC5 (KeySize: 256, BlockSize: 8, BufferSize: 8)
0x1E9E700C TCipher_TEAN (KeySize: 16, BlockSize: 8, BufferSize: 8)
0xBB1C8CCF TCipher_AES192 (KeySize: 24, BlockSize: 16, BufferSize: 16)
Byte 1 DEC 6.0 Cipher mode
Byte 1 DEC 6.4 Cipher mode
0x00 CTSx double CBC, with CFS8 padding of truncated final block (default, proprietary to DEC)
0x01 CBCx Cipher Block Chainung, with CFB8 padding of truncated final block
0x02 CFB8 8bit Cipher Feedback mode
429,8 → 429,8
0x07 CFSx CFS on Blocksize bytes
0x08 ECBx Electronic Code Book
0x09 GCM Galois Counter Mode
0x0A CTS3 double CBC, with less secure padding of truncated final block
Long 4 DEC 6.0 Hash idendity. If the default identitiy base 0x1259D82A is used, then the identities are:
0x0A CTS3 double CBC, with less secure padding of truncated final block (deprecated)
Long 4 DEC 6.4 Hash idendity. If the default identitiy base 0x1259D82A is used, then the identities are:
0x42F48DAB THash_Panama (DigestSize: 32, BlockSize: 32)
0x9D9517A3 THash_RipeMD256 (DigestSize: 32, BlockSize: 64)
0xC366F226 THash_Haval192 (DigestSize: 24, BlockSize: 128)
469,17 → 469,19
0x5D65CF55 THash_Shake128 (DigestSize: 0, BlockSize: 168)
0xD5A2131F THash_Whirlpool1 (DigestSize: 64, BlockSize: 64)
0x372A123A THash_RipeMD128 (DigestSize: 16, BlockSize: 64)
Byte 1 IV Size (default: 16 = 0x10)
Binary var IV (Random Data)
Byte 1 Filler byte of last block (default: 0xFF)
Byte 1 Size of seed (default 32 = 0x20)
Binary 0-255 Seed (Random data)
Byte 1 KDF version
0x00 KDFx (default, proprietary to DEC)
0x01 KDF1
0x02 KDF2
0x03 KDF3
Byte 1 IV Size (default: 16 = 0x10)
Binary var IV (Random Data)
Byte 1 Filler byte of last block (default: 0xFF)
Byte 1 Size of seed (default 32 = 0x20)
Binary 0-255 Seed (Random data)
Binary var With DEC 6.0 encrypted data (read until file end minus the size of the checksum)
0x04 PBKDF3
Long 4 PBKDF iterations (ONLY present if KDF Version 0x04)
Binary var With DEC 6.4 encrypted data (read until file end minus the size of the checksum)
Encryption-Password = Hash->KDf<Version>(User-Password, Seed)
Binary var HMAC checksum (Encrypt-then-HMAC)
= HMAC(HMacKey, EncryptedData)