2

I am developping an AES library which supports Counter with CBC-MAC mode and I have a question about the TAG (MAC) size.

Is the TAG size an input that must be provided by user or it can be computed from other parameters like header size, IV (counter or nonce) size and returned to user?

In my library I declare a function as following:

AES-CCM(Encrypt, header, header size, Nounce, NonceSize, PlainText, 
          PlainTextSize, &TAGSize, &CipherText);
4

1 回答 1

0

标签大小实际上并不是输入的函数,因此应该由用户设置。请注意,在我看来,nonce 不是这种情况,这使得 CCM 编程有点痛苦。

我检查了 Bouncy Castle 库,它们使用用户输入来确定 MAC 大小(尽管它们会简单地除以 8 来获取字节)。如果没有给出大小,那么他们将使用算法块大小的一半(当然,对于 AES,它将默认为 8 个字节),这是合理的默认值。

于 2012-12-16T16:29:38.723 回答