Package org.bouncycastle.crypto
Class BufferedAsymmetricBlockCipher
java.lang.Object
org.bouncycastle.crypto.BufferedAsymmetricBlockCipher
a buffer wrapper for an asymmetric block cipher, allowing input
to be accumulated in a piecemeal fashion until final processing.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionbase constructor. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]
doFinal()
process the contents of the buffer using the underlying cipher.int
return the amount of data sitting in the buffer.int
returns the largest size an input block can be.int
returns the maximum size of the block produced by this cipher.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.
-
Field Details
-
buf
protected byte[] buf -
bufOff
protected int bufOff
-
-
Constructor Details
-
BufferedAsymmetricBlockCipher
base constructor.- Parameters:
cipher
- the cipher this buffering object wraps.
-
-
Method Details
-
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
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
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.
-