3.10.1 Encryption Header

This section provides an example of an RC4 encryption header structure (section 2.3.6.1) used by Office Binary Document RC4 Encryption (section 2.3.6) to specify the encryption properties for an encrypted stream (1).

00001200: 01 00 01 00 C4 DC 85 69  91 13 EC 1C F1 E5 29 06
00001210: 0E 49 00 B3 F3 53 BB 80  36 63 CD E3 DD F2 D1 CB
00001220: 10 23 9B 5A 39 8F EA C2  43 EC F4 4B 9A 62 29 1B
00001230: 1A 4C 9D CD


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

EncryptionVersionInfo

Salt (16 bytes)

...

...

EncryptedVerifier (16 bytes)

...

...

EncryptedVerifierHash (16 bytes)

...

...

EncryptionVersionInfo (4 bytes): A value specifying that Version.vMajor is 0x0001 and Version.vMinor is 0x0001.

Salt (16 bytes): "C4 DC 85 69 91 13 EC 1C F1 E5 29 06 0E 49 00 B3" specifies a randomly generated value that is used when generating the encryption key.

EncryptedVerifier (16 bytes): "F3 53 BB 80 36 63 CD E3 DD F2 D1 CB 10 23 9B 5A" specifies that the verifier is encrypted using a 40-bit RC4 cipher initialized as specified in section 2.3.6.2, with a block number of 0x00000000.

EncryptedVerifierHash (16 bytes): "39 8F EA C2 43 EC F4 4B 9A 62 29 1B 1A 4C 9D CD" specifies an MD5 hash of the verifier used to create the EncryptedVerifier field.