Class SicBlockCipher
- Namespace
- Org.BouncyCastle.Crypto.Modes
- Assembly
- BouncyCastle.Cryptography.dll
public class SicBlockCipher : IBlockCipherMode, IBlockCipher
- Inheritance
-
SicBlockCipher
- Implements
- Inherited Members
Constructors
SicBlockCipher(IBlockCipher)
public SicBlockCipher(IBlockCipher cipher)
Parameters
cipherIBlockCipher
Properties
AlgorithmName
The name of the algorithm this cipher implements.
public virtual string AlgorithmName { get; }
Property Value
IsPartialBlockOkay
Indicates whether this cipher mode can handle partial blocks.
public virtual bool IsPartialBlockOkay { get; }
Property Value
UnderlyingCipher
public IBlockCipher UnderlyingCipher { get; }
Property Value
Methods
GetBlockSize()
public virtual int GetBlockSize()
Returns
- int
The block size for this cipher, in bytes.
Init(bool, ICipherParameters)
Initialise the cipher.
public virtual 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.
public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
Parameters
inputbyte[]inOffintThe offset into that the input block begins.
outputbyte[]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.
public virtual 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.
Reset()
Reset the cipher mode to the same state as it was after the last init (if there was one).
public virtual void Reset()