Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
There are two fields in a chunk signature: hash and block length. Given a chunk, the hash MUST be the MD4 hash [RFC1320] of the data in the chunk, and the block length MUST be the number of bytes in the chunk. Because the block length is an unsigned 16-bit integer, all chunks MUST be less than or equal to 216-1 bytes in length. Recall that the signatures comprise the data in the signature file.
The following diagram illustrates signature computation.
Figure 2: RDC signature computation
Thus, the set of signatures is specified by the following.
Note Subscripts are expressed with parentheses (for example, "boundaryi" would be expressed as "boundary(i)").
-
Let there be N chunks (0,1,... N-1) defined on a file of size n FOR each chunk consisting of bytes from boundary(i) to boundary(i+1)-1 -(Initial Chunks where i < N-1) boundary(i) to n -(Terminal Chunk where i = N-1) BEGIN IF (Terminal Chunk) Signature Hash(i) := MD4 of File[boundary(i)] ... File[n-1] Signature block Length(i) := n - boundary(i) ELSE Signature Hash(i) := MD4 of File[boundary(i)] ... File[boundary(i+1)-1] Signature block Length(i) := boundary(i+1) - boundary(i) END