blob: 1add130cbe763e0aee1e666e8244170f6348abfd [file] [log] [blame]
// See file LICENSE for more information.
library test.macs.cbc_block_cipher_mac_test;
import 'package:pointycastle/pointycastle.dart';
import '../test/mac_tests.dart';
import '../test/src/helpers.dart';
void main() {
final mac = Mac('AES/CBC_CMAC/PKCS7');
// Test vectors from BouncyCastle CBCBlockCipherMac (was DES/CBC_CMAC/PKCS7).
// Note: Key and expected outputs adapted from DES engine to AES
final key = createUint8ListFromHexString('0123456789abcdef0123456789abcdef');
final keyParam = KeyParameter(key);
final input1 = createUint8ListFromHexString(
'37363534333231204e6f77206973207468652074696d6520666f7220');
final input2 = createUint8ListFromHexString('3736353433323120');
final output5WithAes = '0376f977de2166d1';
final output6WithAes = 'f338ed02ba54413f';
mac.init(keyParam);
runMacTests(mac, [
PlainTextDigestPair(input2, output5WithAes),
PlainTextDigestPair(input1, output6WithAes),
// same input again:
PlainTextDigestPair(input1, output6WithAes)
]);
}