public final class CryptixRijndael_Algorithm
extends java.lang.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.
コンストラクタ | 説明 |
---|---|
CryptixRijndael_Algorithm() |
修飾子とタイプ | メソッド | 説明 |
---|---|---|
static void |
blockDecrypt(byte[] in,
byte[] result,
int inOffset,
int outOffset,
java.lang.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,
java.lang.Object sessionKey,
int blockSize) |
Decrypt exactly one block of ciphertext.
|
static void |
blockEncrypt(byte[] in,
byte[] result,
int inOffset,
int outOffset,
java.lang.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,
java.lang.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 java.lang.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 java.lang.Object |
makeKey(byte[] k,
int blockSize) |
Expand a user-supplied key material into a session key.
|
static java.lang.Object |
makeKey(byte[] k,
int blockSize,
CryptixAESKeyCache.KeyCacheEntry keyData) |
Expand a user-supplied key material into a session key.
|
public static final java.lang.Object makeKey(byte[] k) throws java.security.InvalidKeyException
k
- The 128/192/256-bit user-key to use.java.security.InvalidKeyException
- If the key is invalid.public static final void blockEncrypt(byte[] in, byte[] result, int inOffset, int outOffset, java.lang.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. This is a CryptixAESKeyCache.KeyCacheEntry.
We use the Ke field for encryption.
The actual parameter type is opaque, changed in 0.9.31, and is subject to change again.public static final void blockDecrypt(byte[] in, byte[] result, int inOffset, int outOffset, java.lang.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. This is a CryptixAESKeyCache.KeyCacheEntry.
We use the Kd field, for decryption.
The actual parameter type is opaque, changed in 0.9.31, and is subject to change again.public static final int blockSize()
public static final java.lang.Object makeKey(byte[] k, int blockSize) throws java.security.InvalidKeyException
k
- The 128/192/256-bit user-key to use.blockSize
- The block size in bytes of this Rijndael, must be 16, 24, or 32.java.security.InvalidKeyException
- If the key is invalid.public static final java.lang.Object makeKey(byte[] k, int blockSize, CryptixAESKeyCache.KeyCacheEntry keyData) throws java.security.InvalidKeyException
k
- The 128/192/256-bit user-key to use.blockSize
- The block size in bytes of this Rijndael, must be 16, 24, or 32.keyData
- a cached data structure to fill in, or null.java.security.InvalidKeyException
- If the key is invalid.public static final void blockEncrypt(byte[] in, byte[] result, int inOffset, int outOffset, java.lang.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. This is a CryptixAESKeyCache.KeyCacheEntry.
We use the Ke field for encryption.
The actual parameter type is opaque, changed in 0.9.31, and is subject to change again.blockSize
- The block size in bytes of this Rijndael.public static final void blockDecrypt(byte[] in, byte[] result, int inOffset, int outOffset, java.lang.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. This is a CryptixAESKeyCache.KeyCacheEntry.
We use the Kd field, for decryption.
The actual parameter type is opaque, changed in 0.9.31, and is subject to change again.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.