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

OcbBlockCipher

An implementation of RFC 7253 on The OCB Authenticated-Encryption Algorithm.
public virtual string AlgorithmName { get; }

public virtual IBlockCipher UnderlyingCipher { get; }

public OcbBlockCipher(IBlockCipher hashCipher, IBlockCipher mainCipher)

protected static byte[] OCB_double(byte[] block)

protected static void OCB_extend(byte[] block, int pos)

protected static int OCB_ntz(long x)

protected static int ShiftLeft(byte[] block, byte[] output)

protected static void Xor(byte[] block, byte[] val)

protected virtual void Clear(byte[] bs)

public virtual int DoFinal(byte[] output, int outOff)

public virtual int GetBlockSize()

protected virtual byte[] GetLSub(int n)

public virtual byte[] GetMac()

public virtual int GetOutputSize(int len)

public virtual int GetUpdateOutputSize(int len)

public virtual void Init(bool forEncryption, ICipherParameters parameters)

public virtual void ProcessAadByte(byte input)

public virtual void ProcessAadBytes(byte[] input, int off, int len)

public virtual int ProcessByte(byte input, byte[] output, int outOff)

public virtual int ProcessBytes(byte[] input, int inOff, int len, byte[] output, int outOff)

protected virtual void ProcessHashBlock()

protected virtual void ProcessMainBlock(byte[] output, int outOff)

protected virtual int ProcessNonce(byte[] N)

public virtual void Reset()

protected virtual void Reset(bool clearMac)

protected virtual void UpdateHASH(byte[] LSub)