Table of Contents

Interface ICipher

Namespace
Org.BouncyCastle.Crypto
Assembly
BouncyCastle.Cryptography.dll

Base interface for a ciphers that do not require data to be block aligned.

Note: In cases where the underlying algorithm is block based, these ciphers may add or remove padding as needed.

public interface ICipher

Properties

Stream

Gets the stream for reading/writing data processed/to be processed.

Stream Stream { get; }

Property Value

Stream

The stream associated with this cipher.

Methods

GetMaxOutputSize(int)

Return the size of the output buffer required for a Write() plus a close() with the write() being passed inputLen bytes.

The returned size may be dependent on the initialisation of this cipher and may not be accurate once subsequent input data is processed as the cipher may add, add or remove padding, as it sees fit.

int GetMaxOutputSize(int inputLen)

Parameters

inputLen int

The length of the expected input.

Returns

int

The space required to accommodate a call to processBytes and doFinal with inputLen bytes of input.

GetUpdateOutputSize(int)

Return the size of the output buffer required for a write() with the write() being passed inputLen bytes and just updating the cipher output.

int GetUpdateOutputSize(int inputLen)

Parameters

inputLen int

The length of the expected input.

Returns

int

The space required to accommodate a call to processBytes with inputLen bytes of input.