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
|
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 |
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
CAST6Engine
public CAST6Engine()
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 buffersrcIndex
- An offset into srcdst
- The ciphertext bufferdstIndex
- 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 buffersrcIndex
- An offset into srcdst
- The ciphertext bufferdstIndex
- 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 blockB
- the 32-63 bits of the plaintext blockC
- the 64-95 bits of the plaintext blockD
- the 96-127 bits of the plaintext blockresult
- 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 blockB
- the 32-63 bits of the ciphertext blockC
- the 64-95 bits of the ciphertext blockD
- the 96-127 bits of the ciphertext blockresult
- the resulting plaintext