private IBlockCipher ChooseBlockCipherEngine(BlockCipherEngines engine)
{
switch (engine)
{
case BlockCipherEngines.AES:
return new AesEngine();
case BlockCipherEngines.Twofish:
return new TwofishEngine();
case BlockCipherEngines.Serpent:
return new SerpentEngine();
default:
throw new ArgumentOutOfRangeException(nameof(engine), engine, null);
}
}