blob: 769146a4d218e85cea371115543afe7ecc864107 [file] [log] [blame]
// See file LICENSE for more information.
library impl.block_cipher.modes.ctr;
import 'package:pointycastle/api.dart';
import 'package:pointycastle/adapters/stream_cipher_as_block_cipher.dart';
import 'package:pointycastle/stream/ctr.dart';
import 'package:pointycastle/src/registry/registry.dart';
class CTRBlockCipher extends StreamCipherAsBlockCipher {
/// Intended for internal use.
static final FactoryConfig factoryConfig = DynamicFactoryConfig.suffix(
BlockCipher,
'/CTR',
(_, final Match match) => () {
var underlying = BlockCipher(match.group(1)!);
return CTRBlockCipher(
underlying.blockSize, CTRStreamCipher(underlying));
});
CTRBlockCipher(super.blockSize, super.underlyingCipher);
}