Table of Contents

Interface IBlockCipher

Namespace
Org.BouncyCastle.Crypto
Assembly
BouncyCastle.Cryptography.dll
public interface IBlockCipher

Remarks

Base interface for a symmetric key block cipher.

Properties

AlgorithmName

The name of the algorithm this cipher implements.

string AlgorithmName { get; }

Property Value

string

Methods

GetBlockSize()

int GetBlockSize()

Returns

int

The block size for this cipher, in bytes.

Init(bool, ICipherParameters)

Initialise the cipher.

void Init(bool forEncryption, ICipherParameters parameters)

Parameters

forEncryption bool

Initialise for encryption if true, for decryption if false.

parameters ICipherParameters

The key or other data required by the cipher.

ProcessBlock(byte[], int, byte[], int)

Process a block.

int ProcessBlock(byte[] inBuf, int inOff, byte[] outBuf, int outOff)

Parameters

inBuf byte[]

The input buffer.

inOff int

The offset into that the input block begins.

outBuf byte[]

The output buffer.

outOff int

The offset into to write the output block.

Returns

int

The number of bytes processed and produced.

Exceptions

DataLengthException

If input block is wrong size, or outBuf too small.

ProcessBlock(ReadOnlySpan<byte>, Span<byte>)

Process a block.

int ProcessBlock(ReadOnlySpan<byte> input, Span<byte> output)

Parameters

input ReadOnlySpan<byte>

The input block as a span.

output Span<byte>

The output span.

Returns

int

The number of bytes processed and produced.

Exceptions

DataLengthException

If input block is wrong size, or output span too small.