I have some comments and questions regarding the CCM draft, in particular
about:
Section 2.5
[...]
If the T value is not correct, the receiver MUST NOT reveal any
information except for the fact that T is incorrect. The receiver
MUST NOT reveal the decrypted message, the value T, or any other
information.
For large messages, these MUST NOTs could be quite a problem. Specifically,
it seems to mean that the recieving side must buffer the entire (supposed)
plaintext in memory until such a time that the MAC is verified (ie not
sending it to a file or elsewhere). This could be exceedingly expensive,
particularly on small machines and large messages.
I understand your concern. We envision the use of CCM in packet
environments, where this is not a problem. Likewise, it would not be a
problem for an SSL record. It could be a problem for file encryption.