2.3.5.3 RC4 CryptoAPI EncryptedStreamDescriptor Structure
The RC4 CryptoAPI EncryptedStreamDescriptor structure specifies information about encrypted streams (1) and storages contained within an RC4 CryptoAPI Encrypted Summary stream (1) as specified in section 2.3.5.4. It is specified as shown in the following diagram.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
StreamOffset |
|||||||||||||||||||||||||||||||
StreamSize |
|||||||||||||||||||||||||||||||
Block |
NameSize |
A |
B |
Unused |
|||||||||||||||||||||||||||
Reserved2 |
|||||||||||||||||||||||||||||||
StreamName (variable) |
|||||||||||||||||||||||||||||||
... |
StreamOffset (4 bytes): An unsigned integer that specifies the offset, in bytes, within the summary stream (1) where the encrypted stream (1) is written.
StreamSize (4 bytes): An unsigned integer that specifies the size, in bytes, of the encrypted stream (1).
Block (2 bytes): An unsigned integer that specifies the block number used to derive the encryption key for this encrypted stream (1).
NameSize (1 byte): An unsigned integer that specifies the number of characters used by the StreamName field, not including the terminating NULL character.
A – fStream (1 bit): A value that MUST be 1 if the encrypted data is a stream (1). It MUST be 0 if the encrypted data is a storage.
B – Reserved1 (1 bit): A value that MUST be 0 and MUST be ignored.
Unused (6 bits): A value that MUST be ignored.
Reserved2 (4 bytes): A value that MUST be ignored.
StreamName (variable): A null-terminated Unicode string specifying the name of the stream (1) (or storage) stored within the encrypted summary stream (1).