Package org.bouncycastle.crypto
Class BufferedAsymmetricBlockCipher
- java.lang.Object
-
- org.bouncycastle.crypto.BufferedAsymmetricBlockCipher
-
public class BufferedAsymmetricBlockCipher extends java.lang.Object
a buffer wrapper for an asymmetric block cipher, allowing input to be accumulated in a piecemeal fashion until final processing.
-
-
Constructor Summary
Constructors Constructor Description BufferedAsymmetricBlockCipher(AsymmetricBlockCipher cipher)
base constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.
-
-
-
Constructor Detail
-
BufferedAsymmetricBlockCipher
public BufferedAsymmetricBlockCipher(AsymmetricBlockCipher cipher)
base constructor.- Parameters:
cipher
- the cipher this buffering object wraps.
-
-
Method Detail
-
getUnderlyingCipher
public AsymmetricBlockCipher getUnderlyingCipher()
return the underlying cipher for the buffer.- Returns:
- the underlying cipher for the buffer.
-
getBufferPosition
public int getBufferPosition()
return the amount of data sitting in the buffer.- Returns:
- the amount of data sitting in the buffer.
-
init
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.
-
getInputBlockSize
public int getInputBlockSize()
returns the largest size an input block can be.- Returns:
- maximum size for an input block.
-
getOutputBlockSize
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.
-
processByte
public void processByte(byte in)
add another byte for processing.- Parameters:
in
- the input byte.
-
processBytes
public void processBytes(byte[] in, int inOff, int len)
add len bytes to the buffer for processing.- Parameters:
in
- the input datainOff
- offset into the in array where the data startslen
- the length of the block to be processed.
-
doFinal
public byte[] doFinal() throws InvalidCipherTextException
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.
-
reset
public void reset()
Reset the buffer and the underlying cipher.
-
-