Class cryptix.security.CFB
All Packages Class Hierarchy This Package Previous Next Index
Class cryptix.security.CFB
java.lang.Object
|
+----cryptix.security.StreamCipher
|
+----cryptix.security.CFB
- public class CFB
- extends StreamCipher
Implements a byte-based stream cipher using n-bit CFB with an
n-bit-sized block cipher.
The full block size of the supplied cipher is used for the
Cipher Feedback Mode.
The bytes supplied are processed and returned immediately.
Note that this is Variant B.
It needs to be rationalised with #CipherFeedback.
References
See also:
Schneier, B., Applied Cryptography, Wiley, 1996, 2nd Ed.
Copyright © 1995, 1996, 1997
Systemics Ltd
on behalf of the
Cryptix Development Team.
All rights reserved.
- Author:
- Systemics Ltd
- See Also:
- StreamCipher
-
blocksize
-
-
bytesLeft
-
-
cipher
-
-
iv
-
-
k
-
-
CFB(BlockCipher)
- This implements variant B: a unique IV for the
feedback register must be provided as the first blockLength
characters in the stream.
-
decrypt(byte[], int, byte[], int, int)
- This function decrypts a block of data.
-
encrypt(byte[], int, byte[], int, int)
- This function encrypts a block of data.
-
keyLength()
- This function returns the length of the key for this cipher.
-
next_block()
-
-
reset()
- Reset the stream and the IV.
cipher
protected BlockCipher cipher
blocksize
protected int blocksize
iv
protected byte iv[]
k
protected byte k[]
bytesLeft
protected int bytesLeft
CFB
public CFB(BlockCipher cipher_)
- This implements variant B: a unique IV for the
feedback register must be provided as the first blockLength
characters in the stream.
If the IV is not unique, the plaintext can be recovered.
- Parameters:
- cipher0 - the block cipher to use
keyLength
public int keyLength()
- This function returns the length of the key for this cipher.
- Overrides:
- keyLength in class StreamCipher
next_block
public void next_block()
reset
public void reset()
- Reset the stream and the IV. Note that a new IV is now
needed as described above.
encrypt
public void encrypt(byte in[],
int in_offset,
byte out[],
int out_offset,
int length)
- This function encrypts a block of data.
The contents of the array in remain unchanged,
with the result stored in the array out.
The arrays can, however, be the same.
- Parameters:
- in - The plain text to be encrypted.
- in_offset - The offset within the in buffer.
- out - Where the encrypted cipher text will be stored.
- out_offset - The offset within the out buffer.
- length - The length to encrypt.
- Overrides:
- encrypt in class StreamCipher
decrypt
public void decrypt(byte in[],
int in_offset,
byte out[],
int out_offset,
int length)
- This function decrypts a block of data.
The contents of the array in will not be changed,
but will instead store the result in the array out.
The arrays can, however, be the same.
- Parameters:
- in - The cipher text to be decrypted.
- in_offset - The offset within the in buffer.
- out - Where the decrypted plain text will be stored.
- out_offset - The offset within the out buffer.
- length - The length to decrypt.
- Overrides:
- decrypt in class StreamCipher
All Packages Class Hierarchy This Package Previous Next Index