// 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); }