public final class CryptixRijndael_Algorithm extends Object
Rijndael was written by Vincent Rijmen and Joan Daemen.
Portions of this code are Copyright © 1997, 1998
Systemics Ltd on behalf of the
Cryptix Development Team.
All rights reserved.
Constructor and Description |
---|
CryptixRijndael_Algorithm() |
Modifier and Type | Method and Description |
---|---|
static void |
blockDecrypt(byte[] in,
byte[] result,
int inOffset,
int outOffset,
Object sessionKey)
Convenience method to decrypt exactly one block of plaintext, assuming
Rijndael's default block size (128-bit).
|
static void |
blockDecrypt(byte[] in,
byte[] result,
int inOffset,
int outOffset,
Object sessionKey,
int blockSize)
Decrypt exactly one block of ciphertext.
|
static void |
blockEncrypt(byte[] in,
byte[] result,
int inOffset,
int outOffset,
Object sessionKey)
Convenience method to encrypt exactly one block of plaintext, assuming
Rijndael's default block size (128-bit).
|
static void |
blockEncrypt(byte[] in,
byte[] result,
int inOffset,
int outOffset,
Object sessionKey,
int blockSize)
Encrypt exactly one block of plaintext.
|
static int |
blockSize() |
static int |
getRounds(int keySize,
int blockSize)
Return The number of rounds for a given Rijndael's key and block sizes.
|
static Object |
makeKey(byte[] k)
Convenience method to expand a user-supplied key material into a
session key, assuming Rijndael's default block size (128-bit).
|
static Object |
makeKey(byte[] k,
int blockSize)
Expand a user-supplied key material into a session key.
|
static Object |
makeKey(byte[] k,
int blockSize,
CryptixAESKeyCache.KeyCacheEntry keyData) |
public static final Object makeKey(byte[] k) throws InvalidKeyException
k
- The 128/192/256-bit user-key to use.InvalidKeyException
- If the key is invalid.public static final void blockEncrypt(byte[] in, byte[] result, int inOffset, int outOffset, Object sessionKey)
in
- The plaintext.result
- The resulting ciphertext.inOffset
- Index of in from which to start considering data.sessionKey
- The session key to use for encryption.public static final void blockDecrypt(byte[] in, byte[] result, int inOffset, int outOffset, Object sessionKey)
in
- The ciphertext.result
- The resulting ciphertextinOffset
- Index of in from which to start considering data.sessionKey
- The session key to use for decryption.public static final int blockSize()
public static final Object makeKey(byte[] k, int blockSize) throws InvalidKeyException
k
- The 128/192/256-bit user-key to use.blockSize
- The block size in bytes of this Rijndael.InvalidKeyException
- If the key is invalid.public static final Object makeKey(byte[] k, int blockSize, CryptixAESKeyCache.KeyCacheEntry keyData) throws InvalidKeyException
InvalidKeyException
public static final void blockEncrypt(byte[] in, byte[] result, int inOffset, int outOffset, Object sessionKey, int blockSize)
in
- The plaintext.result
- The resulting ciphertext.inOffset
- Index of in from which to start considering data.sessionKey
- The session key to use for encryption.blockSize
- The block size in bytes of this Rijndael.public static final void blockDecrypt(byte[] in, byte[] result, int inOffset, int outOffset, Object sessionKey, int blockSize)
in
- The ciphertext.result
- The resulting ciphertext.inOffset
- Index of in from which to start considering data.sessionKey
- The session key to use for decryption.blockSize
- The block size in bytes of this Rijndael.public static final int getRounds(int keySize, int blockSize)
keySize
- The size of the user key material in bytes.blockSize
- The desired block size in bytes.