Google

Bouncy Castle Cryptography 1.11 API Specification: Class CAST6Engine
Bouncy Castle Cryptography 1.11

org.bouncycastle.crypto.engines
Class CAST6Engine

java.lang.Object
  |
  +--org.bouncycastle.crypto.engines.CAST5Engine
        |
        +--org.bouncycastle.crypto.engines.CAST6Engine
All Implemented Interfaces:
BlockCipher

public final class CAST6Engine
extends CAST5Engine

A class that provides CAST6 key encryption operations, such as encoding data and generating keys. All the algorithms herein are from the Internet RFC RFC2612 - CAST6 (128bit block, 128-256bit key) and implement a simplified cryptography interface.


Field Summary
protected  int[] _Km
           
protected  int[] _Kr
           
protected  int[] _Tm
           
protected  int[] _Tr
           
protected static int BLOCK_SIZE
           
protected static int ROUNDS
           
 
Fields inherited from class org.bouncycastle.crypto.engines.CAST5Engine
M32, MAX_ROUNDS, RED_ROUNDS, S1, S2, S3, S4, S5, S6, S7, S8
 
Constructor Summary
CAST6Engine()
           
 
Method Summary
protected  void CAST_Decipher(int A, int B, int C, int D, int[] result)
          Does the 12 quad rounds rounds to decrypt the block.
protected  void CAST_Encipher(int A, int B, int C, int D, int[] result)
          Does the 12 quad rounds rounds to encrypt the block.
protected  int decryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex)
          Decrypt the given input starting at the given offset and place the result in the provided buffer starting at the given offset.
protected  int encryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex)
          Encrypt the given input starting at the given offset and place the result in the provided buffer starting at the given offset.
 java.lang.String getAlgorithmName()
          Return the name of the algorithm the cipher implements.
 int getBlockSize()
          Return the block size for this cipher (in bytes).
 void reset()
          Reset the cipher.
protected  void setKey(byte[] key)
           
 
Methods inherited from class org.bouncycastle.crypto.engines.CAST5Engine
Bits32ToBytes, Bits32ToInts, BytesTo32bits, CAST_Decipher, CAST_Encipher, F1, F2, F3, init, IntsTo32bits, processBlock
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ROUNDS

protected static final int ROUNDS

BLOCK_SIZE

protected static final int BLOCK_SIZE

_Kr

protected int[] _Kr

_Km

protected int[] _Km

_Tr

protected int[] _Tr

_Tm

protected int[] _Tm
Constructor Detail

CAST6Engine

public CAST6Engine()
Method Detail

getAlgorithmName

public java.lang.String getAlgorithmName()
Description copied from interface: BlockCipher
Return the name of the algorithm the cipher implements.
Overrides:
getAlgorithmName in class CAST5Engine
Following copied from interface: org.bouncycastle.crypto.BlockCipher
Returns:
the name of the algorithm the cipher implements.

reset

public void reset()
Description copied from interface: BlockCipher
Reset the cipher. After resetting the cipher is in the same state as it was after the last init (if there was one).
Overrides:
reset in class CAST5Engine

getBlockSize

public int getBlockSize()
Description copied from interface: BlockCipher
Return the block size for this cipher (in bytes).
Overrides:
getBlockSize in class CAST5Engine
Following copied from interface: org.bouncycastle.crypto.BlockCipher
Returns:
the block size for this cipher in bytes.

setKey

protected void setKey(byte[] key)
Overrides:
setKey in class CAST5Engine

encryptBlock

protected int encryptBlock(byte[] src,
                           int srcIndex,
                           byte[] dst,
                           int dstIndex)
Encrypt the given input starting at the given offset and place the result in the provided buffer starting at the given offset.
Overrides:
encryptBlock in class CAST5Engine
Parameters:
src - The plaintext buffer
srcIndex - An offset into src
dst - The ciphertext buffer
dstIndex - An offset into dst

decryptBlock

protected int decryptBlock(byte[] src,
                           int srcIndex,
                           byte[] dst,
                           int dstIndex)
Decrypt the given input starting at the given offset and place the result in the provided buffer starting at the given offset.
Overrides:
decryptBlock in class CAST5Engine
Parameters:
src - The plaintext buffer
srcIndex - An offset into src
dst - The ciphertext buffer
dstIndex - An offset into dst

CAST_Encipher

protected final void CAST_Encipher(int A,
                                   int B,
                                   int C,
                                   int D,
                                   int[] result)
Does the 12 quad rounds rounds to encrypt the block.
Parameters:
A - the 00-31 bits of the plaintext block
B - the 32-63 bits of the plaintext block
C - the 64-95 bits of the plaintext block
D - the 96-127 bits of the plaintext block
result - the resulting ciphertext

CAST_Decipher

protected final void CAST_Decipher(int A,
                                   int B,
                                   int C,
                                   int D,
                                   int[] result)
Does the 12 quad rounds rounds to decrypt the block.
Parameters:
A - the 00-31 bits of the ciphertext block
B - the 32-63 bits of the ciphertext block
C - the 64-95 bits of the ciphertext block
D - the 96-127 bits of the ciphertext block
result - the resulting plaintext

Bouncy Castle Cryptography 1.11