|
For the latest news and information visit The GNU Crypto project |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object
|
+--gnu.crypto.mode.BaseMode
|
+--gnu.crypto.mode.CTR
The implementation of the Counter Mode.
The algorithm steps are formally described as follows:
CTR Encryption: O[j] = E(K)(T[j]); for j = 1, 2...n;
C[j] = P[j] ^ O[j]; for j = 1, 2...n.
CTR Decryption: O[j] = E(K)(T[j]); for j = 1, 2...n;
P[j] = C[j] ^ O[j]; for j = 1, 2...n.
where P is the plaintext, C is the ciphertext,
E(K) is the underlying block cipher encryption function
parametrised with the session key K, and T is the
Counter.
This implementation, uses a standard incrementing function with a step of 1, and an initial value similar to that described in the NIST document.
References:
| Fields inherited from class gnu.crypto.mode.BaseMode |
cipher, cipherBlockSize, iv, lock, modeBlockSize, name, state |
| Fields inherited from interface gnu.crypto.mode.IMode |
DECRYPTION, ENCRYPTION, IV, MODE_BLOCK_SIZE, STATE |
| Fields inherited from interface gnu.crypto.cipher.IBlockCipher |
CIPHER_BLOCK_SIZE, KEY_MATERIAL |
| Constructor Summary | |
(package private) |
CTR(IBlockCipher underlyingCipher,
int cipherBlockSize)
Trivial package-private constructor for use by the Factory class. |
| Method Summary | |
java.lang.Object |
clone()
Returns a clone of this instance. |
void |
decryptBlock(byte[] in,
int i,
byte[] out,
int o)
Decrypts exactly one block of ciphertext. |
void |
encryptBlock(byte[] in,
int i,
byte[] out,
int o)
Encrypts exactly one block of plaintext. |
void |
setup()
The initialisation phase of the concrete mode implementation. |
void |
teardown()
The termination phase of the concrete mode implementation. |
| Methods inherited from class gnu.crypto.mode.BaseMode |
blockSizes, currentBlockSize, defaultBlockSize, defaultKeySize, init, keySizes, name, reset, selfTest, update |
| Methods inherited from class java.lang.Object |
|
| Constructor Detail |
CTR(IBlockCipher underlyingCipher,
int cipherBlockSize)
Trivial package-private constructor for use by the Factory class.
underlyingCipher - the underlying cipher implementation.cipherBlockSize - the underlying cipher block size to use.| Method Detail |
public java.lang.Object clone()
IBlockCipherReturns a clone of this instance.
clone in class BaseModegnu.crypto.cipher.IBlockCipherpublic void setup()
BaseModesetup in class BaseModepublic void teardown()
BaseModeteardown in class BaseMode
public void encryptBlock(byte[] in,
int i,
byte[] out,
int o)
IBlockCipherEncrypts exactly one block of plaintext.
encryptBlock in class BaseModegnu.crypto.cipher.IBlockCipherin - the plaintext.inOffset - index of in from which to start considering
data.out - the ciphertext.outOffset - index of out from which to store result.java.lang.IllegalStateException - if the instance is not initialised.
public void decryptBlock(byte[] in,
int i,
byte[] out,
int o)
IBlockCipherDecrypts exactly one block of ciphertext.
decryptBlock in class BaseModegnu.crypto.cipher.IBlockCipherin - the plaintext.inOffset - index of in from which to start considering
data.out - the ciphertext.outOffset - index of out from which to store result.java.lang.IllegalStateException - if the instance is not initialised.
|
For the latest news and information visit The GNU Crypto project |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||