public GcmBlockCipher( IBlockCipherEngine engine, IModeBlockCipherFactory factory, IAES_GCMInternals gcmInternals) { // GCM only valid for AES if (engine.BlockSizeBits != 128) { throw new ArgumentException("GCM Mode only valid with AES Engine"); } _engine = engine; _factory = factory; _gcmInternals = gcmInternals; }