Chapter 3 discusses digests, MACs, and HMACs.
As page 73 mentions MACs do not have to be the block size of the cipher to be useful, but the size of any MAC or HMAC, or a reduction in size for the sake of a protocol must be considered in terms of the size of the actual messages being passed through the system. This has nothing to do with the fact that a couple of message digest algorithms have a bit size of 160 bits or that there are ones with a block size of 512 bits. The question at the end of the chapter is to enforce the idea that choice of MAC, HMAC, or digest size needs to be thought about as it changes the collision profile for the underlying algorithm. It's one of the reasons digest like SHA-512 were invented.
This is done in practice - for example SHA-384 is a reduction on SHA-512. 16 and 32 bit MACs are often employed, even though the underlying cipher or digest may have an output size which is much larger.
All digests have a limit on the size of data that should be put into them. This isn't to say there are not other considerations, but the safe input size is the first one you encounter.
Regards,
David
|