Subject: RE: [rohc] doubt regarding shared compression in rfc 3321

From: "Hans Hannu (LU/EAB)" <[email-masked]>
Date: Mon, 5 Apr 2004 09:12:03 +0200

Hi,

>From RFC 3320, END-MESSAGE instruction, page 52.

"The UDVM then calculates a 20-byte SHA-1 hash [RFC-3174] over the
   byte string formed by concatenating the state_length, state_address,
   state_instruction, minimum_access_length and state_value (in the
   order given).  This is the state_identifier."

>From RFC 3321, page 9.

"To make use of shared compression a compressing endpoint saves the
   uncompressed version of the compressed message as a state (shared
   state).  As described in Section 2 the reference to a shared state is
   referred to as shared_state_id.  The shared state's parameters
   state_address and state_instruction must be set to zero.  The
   state_retention_priority must be set to 65535,"

state_length is known from the decompressed message.
state_address is zero
state_instruction is zero
Start of with minimum_access_length equal the length as in the advertised list of states.
state_value is the decompressed message

BR,
/Hans Hannu

>-----Original Message-----
>From: [email-masked] [mailto:[email-masked]]On Behalf Of suman
>Sent: den 5 april 2004 05:48
>To: [email-masked]
>Subject: [rohc] doubt regarding shared compression in rfc 3321
>
>
>Section 5.2 of rfc 3321 speaks about Shared Compression as follows.
>
>1. compressor 1 saves the state M which is the uncompressed version of the current message
>compressed and sent.
>
>2. At the decompressor 2 in the receiving endpoint, SHA-1 instruction is used to calculate the
>state-id for state M.
>
>I am not able to figure out, over which piece of information should the SHA-1 instruction be executed ???
>
>Could anybody clarify my doubt in this regard,
>
>
>thanks
>suman

_______________________________________________
Rohc mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rohc

---

From: suman <[email-masked]>
Date: Mon, 05 Apr 2004 14:41:06 +0530

My doubt is not regarding the usage of SHA-1 hash instruction.
I am reiterating my question again..

RFC 3321 speaks about shared compression procedures as follows:

   (1): Compressor 1 saves e.g., state(M), which is the uncompressed
        version of the current application message to be compressed and
        sent.
   (2): The UDVM bytecode to indicate the presence of state(M) at
        endpoint 1 is either carried in the compressed message, or can
        be retrieved by decompressor 2 from a state already saved at
        endpoint 2.
   (3): The SHA-1 instruction is used at endpoint 2 to calculate the
        shared_state_id for state(M).  The indication is passed to the
        state handler, by placing the shared identifier at the location
        of the "returned SigComp parameters" [SIGCOMP].  The location of
        the "returned SigComp parameters" is given to the state handler
        using the END-MESSAGE instruction.
   (4): If endpoint 2 uses shared compression, it compares the state
        identifier values in the "returned SigComp parameters"
        information with the value it has calculated for the current
        decompressed message received from endpoint 1.  If there is a
        match then endpoint 2 uses the shared state together with the
        state it would normally use if shared compression is not
        supported to compress the next message.
   (5): The UDVM bytecode that will use the shared state (state(M)) in
        the decompression process at decompressor 1 is either carried
        in the compressed message, or can be retrieved by decompressor 1
        from a state already saved at endpoint 1.

I am not able to figure out the difference between step 3 and step4. Step 3
says that the shared_state_id
is calculated using SHA-1 and stored in location of "returned Sigcomp
Parameters" before passed to state handler.

Step 4 says that the state identifer value in "returned Sigcomp Parameters"
is compared against
the state value computed value of state id for the decompressed message.

But as per your explanation below, it seems to me like step 3 and step 4 are
trying to compute the
state id over the same piece of data.(i.e. the uncompressed message...)using
the same procedures.(SHA-1).
In this case, the results of state 3 and state 4 wil always be the
same...and a match would always occur..

So if step 4 computes the state id over the decompressed message, step 3
should be something different.
otherwise it does not make sense...

correct me if i am wrong in my understanding,

thanks
suman