HMACOutputLength interop?

Section 6.3.1 says

	The HMAC algorithm (RFC2104 [HMAC]) takes the truncation length in 
	bits as a parameter;  if the parameter is not specified then all the 
	bits of the hash are output.

Neither this nor RFC 2104 specifies the behaviour when the truncation length
is not a multiple of 8.  RFC 2104 doesn't need to specify this because it's
not dealing with wire formats, but the xmldsig spec probably should.

Options that I can think of are:

    (1)	Specify a placement (MSB or LSB) for the leftover bits and a value
	for the unused bits;  my guess is that the most reasonable choice
	is MSB and 0, i.e. consistent with ASN.1 BIT STRING.

    (2)	Require that HMACOutputLength be a multiple of 8.

Of these, I would prefer (2).

Thomas Maslen
DSTC

Received on Sunday, 3 June 2001 22:53:17 UTC