|
|||||||||
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.OFB
Implements a byte-oriented stream cipher using n-bit OFB with an n-bit-sized block cipher.
The full block size of the supplied cipher is used for the Output Feedback Mode. The bytes supplied are processed and returned immediately.
References:
sci.crypt
FAQ, "Part 5: Product Ciphers,"
ftp://ftp.rtfm.mit.edu/pub/usenet/news.answers/cryptography-faq/part05
Copyright © 1997
Systemics Ltd on behalf of the
Cryptix Development Team.
All rights reserved.
$Revision: 1.6 $
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 |
Fields inherited from class xjava.security.IJCE_Traceable |
tracing |
Constructor Summary | |
OFB()
Constructs an OFB cipher, assuming that the IV will be provided via setInitializationVector .
|
|
OFB(Cipher cipher)
Constructs an OFB cipher, assuming that the IV will be provided via setInitializationVector .
|
|
OFB(Cipher cipher,
byte[] iv)
Constructs a OFB 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 int |
engineUpdate(byte[] in,
int inOffset,
int inLen,
byte[] out,
int outOffset)
SPI: This is the main engine method for updating data. |
Methods inherited from class cryptix.provider.mode.FeedbackMode |
engineSetCipher, getInitializationVector, getInitializationVectorLength, setInitializationVector |
Methods inherited from class xjava.security.Mode |
engineGetParameter, engineSetParameter, getAlgorithms, getAlgorithms, getInstance, getInstance, toString |
Methods inherited from class xjava.security.IJCE_Traceable |
|
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public OFB()
setInitializationVector
.
The IV value must be unique during the lifetime of the key. If it is not unique, and an attacker has access to a different message encrypted under the same IV and key, all of the plaintext can normally be recovered.
public OFB(Cipher cipher)
setInitializationVector
.
See the previous constructor for more details.cipher
- the cipher object to use in OFB mode.NullPointerException
- if cipher == nullIllegalBlockSizeException
- if cipher.getPlaintextBlockSize() !=
cipher.getCiphertextBlockSize()public OFB(Cipher cipher, byte[] iv)
The IV value must be unique during the lifetime of the key. If it is not unique, and an attacker has access to a different message encrypted under the same IV and key, all of the plaintext can normally be recovered.
cipher
- the block cipher to useiv
- the initial value for the shift register (IV)NullPointerException
- if cipher == nullMethod Detail |
protected int engineBlockSize()
Cipher
The value may change when initEncrypt
or
initDecrypt
is called, but it should not change at
other times.
engineBlockSize
in class Cipher
xjava.security.Cipher
protected void engineInitEncrypt(java.security.Key newkey) throws java.security.KeyException
Cipher
After a call to this method, the cipher's state is set to ENCRYPT.
engineInitEncrypt
in class Cipher
xjava.security.Cipher
key
- the key to use for encryption.java.security.KeyException
- if the key is invalid.protected void engineInitDecrypt(java.security.Key newkey) throws java.security.KeyException
Cipher
After a call to this method, the cipher's state is set to DECRYPT.
engineInitDecrypt
in class Cipher
xjava.security.Cipher
key
- the key to use for decryption.java.security.KeyException
- if the key is invalid.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.
engineUpdate
in class Cipher
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.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |