| java.lang.Object org.bouncycastle.crypto.BufferedBlockCipher
All known Subclasses: org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher, org.bouncycastle.crypto.modes.PaddedBlockCipher, org.bouncycastle.crypto.modes.CTSBlockCipher,
BufferedBlockCipher | public class BufferedBlockCipher (Code) | | 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.
|
Method Summary | |
public int | doFinal(byte[] out, int outOff) Process the last block in the buffer.
Parameters: out - the array the block currently being held is copied into. Parameters: outOff - the offset at which the copying starts. | public int | getBlockSize() return the blocksize for the underlying cipher. | public int | getOutputSize(int len) return the size of the output buffer required for an update plus a
doFinal with an input of len bytes.
Parameters: len - the length of the input. | public BlockCipher | getUnderlyingCipher() return the cipher this object wraps. | public int | getUpdateOutputSize(int len) return the size of the output buffer required for an update
an input of len bytes.
Parameters: len - the length of the input. | public void | init(boolean forEncryption, CipherParameters params) initialise the cipher. | public int | processByte(byte in, byte[] out, int outOff) process a single byte, producing an output block if neccessary.
Parameters: in - the input byte. Parameters: out - the space for any output that might be produced. Parameters: outOff - the offset from which the output will be copied. | public int | processBytes(byte[] in, int inOff, int len, byte[] out, int outOff) process an array of bytes, producing output if necessary.
Parameters: in - the input byte array. Parameters: inOff - the offset at which the input data starts. Parameters: len - the number of bytes to be copied out of the input array. Parameters: out - the space for any output that might be produced. Parameters: outOff - the offset from which the output will be copied. | public void | reset() Reset the buffer and cipher. |
bufOff | protected int bufOff(Code) | | |
forEncryption | protected boolean forEncryption(Code) | | |
partialBlockOkay | protected boolean partialBlockOkay(Code) | | |
pgpCFB | protected boolean pgpCFB(Code) | | |
BufferedBlockCipher | protected BufferedBlockCipher()(Code) | | constructor for subclasses
|
BufferedBlockCipher | public BufferedBlockCipher(BlockCipher cipher)(Code) | | Create a buffered block cipher without padding.
Parameters: cipher - the underlying block cipher this buffering object wraps. |
getBlockSize | public int getBlockSize()(Code) | | return the blocksize for the underlying cipher.
the blocksize for the underlying cipher. |
getOutputSize | public int getOutputSize(int len)(Code) | | return the size of the output buffer required for an update plus a
doFinal with an input of len bytes.
Parameters: len - the length of the input. the space required to accommodate a call to update and doFinalwith len bytes of input. |
getUnderlyingCipher | public BlockCipher getUnderlyingCipher()(Code) | | return the cipher this object wraps.
the cipher this object wraps. |
getUpdateOutputSize | public int getUpdateOutputSize(int len)(Code) | | return the size of the output buffer required for an update
an input of len bytes.
Parameters: len - the length of the input. the space required to accommodate a call to updatewith len bytes of input. |
init | public void init(boolean forEncryption, CipherParameters params) throws IllegalArgumentException(Code) | | initialise the cipher.
Parameters: forEncryption - if true the cipher is initialised forencryption, if false for decryption. Parameters: params - the key and other data required by the cipher. exception: IllegalArgumentException - if the params argument isinappropriate. |
processByte | public int processByte(byte in, byte[] out, int outOff) throws DataLengthException, IllegalStateException(Code) | | process a single byte, producing an output block if neccessary.
Parameters: in - the input byte. Parameters: out - the space for any output that might be produced. Parameters: outOff - the offset from which the output will be copied. the number of output bytes copied to out. exception: DataLengthException - if there isn't enough space in out. exception: IllegalStateException - if the cipher isn't initialised. |
processBytes | public int processBytes(byte[] in, int inOff, int len, byte[] out, int outOff) throws DataLengthException, IllegalStateException(Code) | | process an array of bytes, producing output if necessary.
Parameters: in - the input byte array. Parameters: inOff - the offset at which the input data starts. Parameters: len - the number of bytes to be copied out of the input array. Parameters: out - the space for any output that might be produced. Parameters: outOff - the offset from which the output will be copied. the number of output bytes copied to out. exception: DataLengthException - if there isn't enough space in out. exception: IllegalStateException - if the cipher isn't initialised. |
reset | public void reset()(Code) | | 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).
|
|
|