[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Compression and partial length chunks

Hi all, 

I was wondering if someone could help clarify some issues for me.  It is
not clear to me from the RFC2440 how compression works when using
partial body length headers.  

I am working on an application that will support both inbound and
outbound streaming. Encrypted packets will be coming in over FTP and the
application will have to decrypt and decompress the chunks on the fly so
they can be written to a file or sent out over the network. Similary,
the application will encrypt an incoming plain text file using partial
length encoding. In both cases, the size of the incoming file (encrypted
one and the plain text is not known).

As I understand it, first the Sym. Encrypted & Integrity Protected
header is sent out by the sender, then only one CompressedDataPacket
header is encrypted and sent out in the first chunk, the subsequent
chunks are compressed and then encrypted and enclosed in the partial
body length header and then sent out. 

The receiving side (i.e my application) receives the Sym. Encrypted &
Integrity Protected header. It starts decryting the subsequent chunks.
In doing so, the receiver finds the CompressedDataPacket header.
Therefore, the receiver can start decompressing the subsequent chunks
after decrypting them.

Are the chunks independent in that can they be decrypted and
decompressed by the receiver without buffering them with other chunks?
E.g, if a 8192 bytes chunk is received enclosed within a partial body
length header, can the receiver take the chunk's payload and decrypt it
and then decompress it independently of the chunks already received and
those coming in?

I guess, if I understood the procedure for creating an
encrypted/compressed chunk, it would make it easier to understand the
decryption procedure. 

Any help would be greatly appreciated!