public MonteCarloTdesCfbp(IBlockCipherEngineFactory engineFactory, IModeBlockCipherFactory modeFactory, IMonteCarloKeyMakerTdes keyMaker, BlockCipherModesOfOperation mode) { _algo = modeFactory.GetStandardCipher( engineFactory.GetSymmetricCipherPrimitive(BlockCipherEngines.Tdes), mode ); _keyMaker = keyMaker; switch (mode) { case BlockCipherModesOfOperation.CfbpBit: Shift = 1; break; case BlockCipherModesOfOperation.CfbpByte: Shift = 8; break; case BlockCipherModesOfOperation.CfbpBlock: Shift = 64; break; default: throw new ArgumentException(nameof(mode)); } }
public MonteCarloTdesCbci(IBlockCipherEngineFactory engineFactory, IModeBlockCipherFactory modeFactory, IMonteCarloKeyMakerTdes keyMaker) { _algo = modeFactory.GetStandardCipher( engineFactory.GetSymmetricCipherPrimitive(BlockCipherEngines.Tdes), BlockCipherModesOfOperation.Ecb ); _keyMaker = keyMaker; }
public MonteCarloTdesCfb( IBlockCipherEngineFactory engineFactory, IModeBlockCipherFactory modeFactory, IMonteCarloKeyMakerTdes keyMaker, int shiftSize, BlockCipherModesOfOperation mode ) { _algo = modeFactory.GetStandardCipher( engineFactory.GetSymmetricCipherPrimitive(BlockCipherEngines.Tdes), mode ); _keyMaker = keyMaker; Shift = shiftSize; }