<PackageReference Include="BouncyCastle.Cryptography" Version="2.6.1" />

Org.BouncyCastle.Crypto.Modes.GcmSivBlockCipher

namespace Org.BouncyCastle.Crypto.Modes { public class GcmSivBlockCipher : IAeadBlockCipher, IAeadCipher { public virtual IBlockCipher UnderlyingCipher { get; } public virtual string AlgorithmName { get; } public GcmSivBlockCipher(); public GcmSivBlockCipher(IBlockCipher pCipher); public GcmSivBlockCipher(IBlockCipher pCipher, IGcmMultiplier pMultiplier); public virtual int GetBlockSize(); public virtual void Init(bool pEncrypt, ICipherParameters cipherParameters); public virtual void ProcessAadByte(byte pByte); public virtual void ProcessAadBytes(byte[] pData, int pOffset, int pLen); public virtual int ProcessByte(byte pByte, byte[] pOutput, int pOutOffset); public virtual int ProcessBytes(byte[] pData, int pOffset, int pLen, byte[] pOutput, int pOutOffset); public virtual int DoFinal(byte[] pOutput, int pOffset); public virtual byte[] GetMac(); public virtual int GetUpdateOutputSize(int pLen); public virtual int GetOutputSize(int pLen); public virtual void Reset(); } }