Cryptography 在AES-CCM中,标签大小是用户参数吗?
我正在开发一个支持的AES库,我有一个关于标签(MAC)大小的问题 标签大小是用户必须提供的输入,还是可以从其他参数(如标题大小、IV(计数器或nonce)大小)计算并返回给用户 在我的库中,我声明了一个函数,如下所示:Cryptography 在AES-CCM中,标签大小是用户参数吗?,cryptography,aes,Cryptography,Aes,我正在开发一个支持的AES库,我有一个关于标签(MAC)大小的问题 标签大小是用户必须提供的输入,还是可以从其他参数(如标题大小、IV(计数器或nonce)大小)计算并返回给用户 在我的库中,我声明了一个函数,如下所示: AES-CCM(Encrypt, header, header size, Nounce, NonceSize, PlainText, PlainTextSize, &TAGSize, &CipherText); 标记大小实际上不是输入的
AES-CCM(Encrypt, header, header size, Nounce, NonceSize, PlainText,
PlainTextSize, &TAGSize, &CipherText);
标记大小实际上不是输入的函数,因此应由用户设置。请注意,nonce的情况并非如此,在我看来,这使CCM编程有点困难
我已经检查过Bouncy Castle库,它们使用用户输入来确定MAC大小(尽管它们只需除以8即可得到字节)。如果未给出大小,则它们将使用算法块大小的一半(当然,AES的默认值为8字节),这是合理的默认值。OK,改为Bouncy检查。即使已经太晚了,我还是要感谢你的确认