gnu.crypto.mode
public class CTR extends BaseMode implements Cloneable
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:
Version: $Revision: 1.7 $
Constructor Summary | |
---|---|
CTR(IBlockCipher underlyingCipher, int cipherBlockSize) Trivial package-private constructor for use by the Factory class. |
Method Summary | |
---|---|
Iterator | blockSizes() |
Object | clone() |
void | decryptBlock(byte[] in, int i, byte[] out, int o) |
void | encryptBlock(byte[] in, int i, byte[] out, int o) |
void | setup() |
void | teardown() |
Trivial package-private constructor for use by the Factory class.
Parameters: underlyingCipher the underlying cipher implementation. cipherBlockSize the underlying cipher block size to use.