|
Cryptix V3.2 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--xjava.security.IJCE_Traceable | +--xjava.security.Cipher | +--xjava.security.Mode | +--cryptix.provider.mode.FeedbackMode | +--cryptix.provider.mode.CFB
Implements a byte-oriented 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.
References:
Copyright © 1995-1997
Systemics Ltd on behalf of the
Cryptix Development Team.
All rights reserved.
$Revision: 1.5 $
Fields inherited from class cryptix.provider.mode.FeedbackMode |
currentByte,
ivBlock,
ivStart,
length |
Fields inherited from class xjava.security.Mode |
cipher |
Fields inherited from class xjava.security.Cipher |
DECRYPT,
ENCRYPT,
UNINITIALIZED |
Constructor Summary | |
CFB()
Constructs a CFB mode object. |
|
CFB(Cipher cipher)
Constructs a CFB cipher, assuming that the IV will be provided via setInitializationVector . |
|
CFB(Cipher cipher,
byte[] iv)
Constructs a CFB cipher, using an initialization vector provided in the constructor. |
Method Summary | |
protected int |
engineBlockSize()
SPI: Returns the length of a block, in bytes. |
protected void |
engineInitDecrypt(java.security.Key newkey)
SPI: Initializes this cipher for decryption, using the specified key. |
protected void |
engineInitEncrypt(java.security.Key newkey)
SPI: Initializes this cipher for encryption, using the specified key. |
protected void |
engineSetCipher(Cipher cipher)
SPI: Sets the underlying cipher. |
protected int |
engineUpdate(byte[] in,
int inOffset,
int inLen,
byte[] out,
int outOffset)
SPI: This is the main engine method for updating data. |
protected void |
next_block()
Rotates the IV left by currentByte bytes, to mimic the V2.2 behaviour. |
Methods inherited from class cryptix.provider.mode.FeedbackMode |
getInitializationVector,
getInitializationVectorLength,
setInitializationVector |
Methods inherited from class xjava.security.Mode |
engineGetParameter,
engineSetParameter,
getAlgorithms,
getAlgorithms,
getInstance,
getInstance,
toString |
Methods inherited from class java.lang.Object |
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Constructor Detail |
public CFB()
The IV is provided via setInitializationVector
. This IV
must be unique during the lifetime of the key. If it is not
unique, at least the first block of the plaintext can be recovered.
public CFB(Cipher cipher)
setInitializationVector
.
See the previous constructor for more details.cipher
- the cipher object to use in CFB mode.public CFB(Cipher cipher, byte[] iv)
cipher
- the block cipher to useiv
- the initial value for the shift register (IV)Method Detail |
protected void engineSetCipher(Cipher cipher)
For example, to create an IDEA cipher in CBC mode, the cipher for "IDEA" would be passed to the mode for "CBC" using this method. It is called once, immediately after the mode object is constructed.
Subclasses that override this method (to do initialization that
depends on the cipher being set) should call
super.engineSetCipher(cipher)
first.
cipher
- the underlying cipher objectprotected int engineBlockSize()
The value may change when initEncrypt
or
initDecrypt
is called, but it should not change at
other times.
protected void engineInitEncrypt(java.security.Key newkey) throws java.security.KeyException
After a call to this method, the cipher's state is set to ENCRYPT.
key
- the key to use for encryption.protected void engineInitDecrypt(java.security.Key newkey) throws java.security.KeyException
After a call to this method, the cipher's state is set to DECRYPT.
key
- the key to use for decryption.protected int engineUpdate(byte[] in, int inOffset, int inLen, byte[] out, int outOffset)
in
and out
may be the same array, and the
input and output regions may overlap.
in
- the input data.inOffset
- the offset into in
specifying where
the data starts.inLen
- the length of the subarray.out
- the output array.outOffset
- the offset indicating where to start writing into
the out
array.protected void next_block()
CFB_PGP
|
Cryptix V3.2 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |