public class

BufferedAsymmetricBlockCipher

extends Object
java.lang.Object
   ↳ org.bouncycastle.crypto.BufferedAsymmetricBlockCipher

Class Overview

a buffer wrapper for an asymmetric block cipher, allowing input to be accumulated in a piecemeal fashion until final processing.

Summary

Fields
protected byte[] buf
protected int bufOff
Public Constructors
BufferedAsymmetricBlockCipher(AsymmetricBlockCipher cipher)
base constructor.
Public Methods
byte[] doFinal()
process the contents of the buffer using the underlying cipher.
int getBufferPosition()
return the amount of data sitting in the buffer.
int getInputBlockSize()
returns the largest size an input block can be.
int getOutputBlockSize()
returns the maximum size of the block produced by this cipher.
AsymmetricBlockCipher getUnderlyingCipher()
return the underlying cipher for the buffer.
void init(boolean forEncryption, CipherParameters params)
initialise the buffer and the underlying cipher.
void processByte(byte in)
add another byte for processing.
void processBytes(byte[] in, int inOff, int len)
add len bytes to the buffer for processing.
void reset()
Reset the buffer and the underlying cipher.
[Expand]
Inherited Methods
From class java.lang.Object

Fields

protected byte[] buf

protected int bufOff

Public Constructors

public BufferedAsymmetricBlockCipher (AsymmetricBlockCipher cipher)

base constructor.

Parameters
cipher the cipher this buffering object wraps.

Public Methods

public byte[] doFinal ()

process the contents of the buffer using the underlying cipher.

Returns
  • the result of the encryption/decryption process on the buffer.
Throws
InvalidCipherTextException if we are given a garbage block.

public int getBufferPosition ()

return the amount of data sitting in the buffer.

Returns
  • the amount of data sitting in the buffer.

public int getInputBlockSize ()

returns the largest size an input block can be.

Returns
  • maximum size for an input block.

public int getOutputBlockSize ()

returns the maximum size of the block produced by this cipher.

Returns
  • maximum size of the output block produced by the cipher.

public AsymmetricBlockCipher getUnderlyingCipher ()

return the underlying cipher for the buffer.

Returns
  • the underlying cipher for the buffer.

public void init (boolean forEncryption, CipherParameters params)

initialise the buffer and the underlying cipher.

Parameters
forEncryption if true the cipher is initialised for encryption, if false for decryption.
params the key and other data required by the cipher.

public void processByte (byte in)

add another byte for processing.

Parameters
in the input byte.

public void processBytes (byte[] in, int inOff, int len)

add len bytes to the buffer for processing.

Parameters
in the input data
inOff offset into the in array where the data starts
len the length of the block to be processed.

public void reset ()

Reset the buffer and the underlying cipher.