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
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
forEncryptionboolInitialise for encryption if true, for decryption if false.
parametersICipherParametersThe 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
inBufbyte[]The input buffer.
inOffintThe offset into that the input block begins.
outBufbyte[]The output buffer.
outOffintThe 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
inputReadOnlySpan<byte>The input block as a span.
outputSpan<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.