java.lang.Object | |
↳ | org.bouncycastle.crypto.BufferedBlockCipher |
Known Direct Subclasses |
A wrapper class that allows block ciphers to be used to process data in a piecemeal fashion. The BufferedBlockCipher outputs a block only when the buffer is full and more data is being added, or on a doFinal.
Note: in the case where the underlying cipher is either a CFB cipher or an OFB one the last block may not be a multiple of the block size.
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
buf | |||||||||||
bufOff | |||||||||||
cipher | |||||||||||
forEncryption | |||||||||||
partialBlockOkay | |||||||||||
pgpCFB |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Create a buffered block cipher without padding.
|
Protected Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
constructor for subclasses
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Process the last block in the buffer.
| |||||||||||
return the blocksize for the underlying cipher.
| |||||||||||
return the size of the output buffer required for an update plus a
doFinal with an input of 'length' bytes.
| |||||||||||
return the cipher this object wraps.
| |||||||||||
return the size of the output buffer required for an update
an input of len bytes.
| |||||||||||
initialise the cipher.
| |||||||||||
process a single byte, producing an output block if neccessary.
| |||||||||||
process an array of bytes, producing output if necessary.
| |||||||||||
Reset the buffer and cipher.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Create a buffered block cipher without padding.
cipher | the underlying block cipher this buffering object wraps. |
---|
constructor for subclasses
Process the last block in the buffer.
out | the array the block currently being held is copied into. |
---|---|
outOff | the offset at which the copying starts. |
DataLengthException | if there is insufficient space in out for the output, or the input is not block size aligned and should be. |
---|---|
IllegalStateException | if the underlying cipher is not initialised. |
InvalidCipherTextException | if padding is expected and not found. |
DataLengthException | if the input is not block size aligned. |
return the blocksize for the underlying cipher.
return the size of the output buffer required for an update plus a doFinal with an input of 'length' bytes.
length | the length of the input. |
---|
return the cipher this object wraps.
return the size of the output buffer required for an update an input of len bytes.
len | the length of the input. |
---|
initialise the cipher.
forEncryption | if true the cipher is initialised for encryption, if false for decryption. |
---|---|
params | the key and other data required by the cipher. |
IllegalArgumentException | if the params argument is inappropriate. |
---|
process a single byte, producing an output block if neccessary.
in | the input byte. |
---|---|
out | the space for any output that might be produced. |
outOff | the offset from which the output will be copied. |
DataLengthException | if there isn't enough space in out. |
---|---|
IllegalStateException | if the cipher isn't initialised. |
process an array of bytes, producing output if necessary.
in | the input byte array. |
---|---|
inOff | the offset at which the input data starts. |
len | the number of bytes to be copied out of the input array. |
out | the space for any output that might be produced. |
outOff | the offset from which the output will be copied. |
DataLengthException | if there isn't enough space in out. |
---|---|
IllegalStateException | if the cipher isn't initialised. |
Reset the buffer and cipher. After resetting the object is in the same state as it was after the last init (if there was one).