2

CBC-MACモードのCounterをサポートするAESライブラリを開発していますが、TAG(MAC)サイズについて質問があります。

TAGサイズは、ユーザーが提供する必要のある入力ですか、それともヘッダーサイズ、IV(カウンターまたはナンス)サイズなどの他のパラメーターから計算してユーザーに返すことができますか?

私のライブラリでは、次のように関数を宣言しています。

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

1 に答える 1

0

タグのサイズは実際には入力の関数ではないため、ユーザーが設定する必要があります。私の意見では、これはナンスには当てはまらないことに注意してください。これにより、CCMをプログラムするのが少し面倒になります。

私はBouncyCastleライブラリを確認しましたが、ユーザー入力を使用してMACサイズを決定します(ただし、バイトを取得するために8で割るだけです)。サイズが指定されていない場合、アルゴリズムのブロックサイズの半分(もちろん、AESの場合はデフォルトで8バイトになります)が使用されます。これは妥当なデフォルトです。

于 2012-12-16T16:29:38.723 に答える