Package org.bouncycastle.crypto.modes
Class KXTSBlockCipher
java.lang.Object
org.bouncycastle.crypto.BufferedBlockCipher
org.bouncycastle.crypto.DefaultBufferedBlockCipher
org.bouncycastle.crypto.modes.KXTSBlockCipher
Implementation of DSTU7624 XTS mode
-
Field Summary
Fields inherited from class org.bouncycastle.crypto.DefaultBufferedBlockCipher
buf, bufOff, cipher, forEncryption, mbCipher, partialBlockOkay, pgpCFB -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintdoFinal(byte[] output, int outOff) Process the last block in the buffer.intgetOutputSize(int length) return the size of the output buffer required for an update plus a doFinal with an input of 'length' bytes.protected static longgetReductionPolynomial(int blockSize) intgetUpdateOutputSize(int len) return the size of the output buffer required for an update an input of len bytes.voidinit(boolean forEncryption, CipherParameters parameters) initialise the cipher.intprocessByte(byte in, byte[] out, int outOff) process a single byte, producing an output block if necessary.intprocessBytes(byte[] input, int inOff, int len, byte[] output, int outOff) process an array of bytes, producing output if necessary.voidreset()Reset the buffer and cipher.Methods inherited from class org.bouncycastle.crypto.DefaultBufferedBlockCipher
getBlockSize, getUnderlyingCipher
-
Constructor Details
-
KXTSBlockCipher
-
-
Method Details
-
getReductionPolynomial
protected static long getReductionPolynomial(int blockSize) -
getOutputSize
public int getOutputSize(int length) Description copied from class:DefaultBufferedBlockCipherreturn the size of the output buffer required for an update plus a doFinal with an input of 'length' bytes.- Overrides:
getOutputSizein classDefaultBufferedBlockCipher- Parameters:
length- the length of the input.- Returns:
- the space required to accommodate a call to update and doFinal with 'length' bytes of input.
-
getUpdateOutputSize
public int getUpdateOutputSize(int len) Description copied from class:DefaultBufferedBlockCipherreturn the size of the output buffer required for an update an input of len bytes.- Overrides:
getUpdateOutputSizein classDefaultBufferedBlockCipher- Parameters:
len- the length of the input.- Returns:
- the space required to accommodate a call to update with len bytes of input.
-
init
Description copied from class:DefaultBufferedBlockCipherinitialise the cipher.- Overrides:
initin classDefaultBufferedBlockCipher- Parameters:
forEncryption- if true the cipher is initialised for encryption, if false for decryption.parameters- the key and other data required by the cipher.
-
processByte
public int processByte(byte in, byte[] out, int outOff) Description copied from class:DefaultBufferedBlockCipherprocess a single byte, producing an output block if necessary.- Overrides:
processBytein classDefaultBufferedBlockCipher- Parameters:
in- the input byte.out- the space for any output that might be produced.outOff- the offset from which the output will be copied.- Returns:
- the number of output bytes copied to out.
-
processBytes
public int processBytes(byte[] input, int inOff, int len, byte[] output, int outOff) Description copied from class:DefaultBufferedBlockCipherprocess an array of bytes, producing output if necessary.- Overrides:
processBytesin classDefaultBufferedBlockCipher- Parameters:
input- 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.output- the space for any output that might be produced.outOff- the offset from which the output will be copied.- Returns:
- the number of output bytes copied to out.
-
doFinal
public int doFinal(byte[] output, int outOff) Description copied from class:DefaultBufferedBlockCipherProcess the last block in the buffer.- Overrides:
doFinalin classDefaultBufferedBlockCipher- Parameters:
output- the array the block currently being held is copied into.outOff- the offset at which the copying starts.- Returns:
- the number of output bytes copied to out.
-
reset
public void reset()Description copied from class:DefaultBufferedBlockCipherReset the buffer and cipher. After resetting the object is in the same state as it was after the last init (if there was one).- Overrides:
resetin classDefaultBufferedBlockCipher
-