At 7:23 AM -0700 7/2/06, Michael Thomas wrote:
Paul Hoffman wrote:
#13 3.4.5, 3.5 and 3.7. "l=0" is allowed, but "bh=" is REQUIRED,
which is a bit
of a contradiction.
"l=0;bh=;" seems valid.
It doesn't seem valid to me, and it's certainly not the natural thing that
an implementor would do which is to just take the value of SHA[1|256]_Final
and compare it against the bh= value. Leaving it as is doesn't create an
unnecessary new case.
Oh, wait; Michael is completely right here. If l=0, bh= contains the
hash of a zero-length string, which has the length of a normal hash
output. My apologies.
And "l=" is not mentioned when saying how to calculate
"bh=". I guess the right thing to do might be to add some mention
of "l=" when
talking about calculating "bh=",
I don't see what the problem is: l= is the canonical byte count, and that's
just as true with bh as is was before bh was invented.
The question is, what string do you hash when l= is given? I am
interpreting the spec as that you has the string with the length
given in l=; are you reading it as you hash the entire body
regardless of the presence of l=?
NOTE WELL: This list operates according to