public class CFB extends BaseMode
I[1] = IV I[j] = LSB(b-s, I[j-1]) | C[j-1] for j = 2...n O[j] = CIPH(K, I[j]) for j = 1,2...n C[j] = P[j] ^ MSB(s, O[j]) for j = 1,2...n
And decryption is:
I[1] = IV I[j] = LSB(b-s, I[j-1]) | C[j-1] for j = 2...n O[j] = CIPH(K, I[j]) for j = 1,2...n P[j] = C[j] ^ MSB(s, O[j]) for j = 1,2...n
CFB mode requires an initialization vector, which need not be kept secret.
References:
algorithmParams, cipher, cipherBlockSize, iv, lock, modeBlockSize, name, state
ALGORITHM_PARAMS, DECRYPTION, ENCRYPTION, IV, MODE_BLOCK_SIZE, STATE
CIPHER_BLOCK_SIZE, KEY_MATERIAL
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
clone()
Returns a clone of this instance.
|
void |
decryptBlock(byte[] in,
int inOffset,
byte[] out,
int outOffset)
Decrypts exactly one block of ciphertext.
|
void |
encryptBlock(byte[] in,
int inOffset,
byte[] out,
int outOffset)
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.
|
blockSizes, currentBlockSize, defaultBlockSize, defaultKeySize, init, keySizes, name, reset, selfTest, update
public java.lang.Object clone()
IBlockCipher
Returns a clone of this instance.
clone
in interface IBlockCipher
clone
in class BaseMode
public void setup()
BaseMode
public void teardown()
BaseMode
public void encryptBlock(byte[] in, int inOffset, byte[] out, int outOffset)
IBlockCipher
Encrypts exactly one block of plaintext.
encryptBlock
in interface IBlockCipher
encryptBlock
in class BaseMode
in
- the plaintext.inOffset
- index of in
from which to start considering
data.out
- the ciphertext.outOffset
- index of out
from which to store result.public void decryptBlock(byte[] in, int inOffset, byte[] out, int outOffset)
IBlockCipher
Decrypts exactly one block of ciphertext.
decryptBlock
in interface IBlockCipher
decryptBlock
in class BaseMode
in
- the plaintext.inOffset
- index of in
from which to start considering
data.out
- the ciphertext.outOffset
- index of out
from which to store result.Copyright © 2025. All rights reserved.