|
|||||||||
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
FeedbackMode is used to provide the functionality of an encryption mode, such as CBC, CFB, or OFB, that works as a feedback cipher, where the size of the IV and feedback buffer are equal to the cipher's block size.
It is internal to Cryptix, and not intended to be used directly by applications.
Copyright © 1997
Systemics Ltd on behalf of the
Cryptix Development Team.
All rights reserved.
$Revision: 1.5 $
Field Summary | |
protected int |
currentByte
Index into the ivBlock. |
protected byte[] |
ivBlock
Value of the current feedback register/queue/buffer. |
protected byte[] |
ivStart
Value of the IV at initialisation phase as supplied by user. |
protected int |
length
Size of the feedback register/queue/buffer. |
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 | |
protected |
FeedbackMode(boolean implBuffering,
boolean implPadding,
java.lang.String provider)
Constructor for a Mode. |
Method Summary | |
protected void |
engineSetCipher(Cipher cipher)
SPI: Sets the underlying cipher. |
byte[] |
getInitializationVector()
Gets a copy of the starting initialization vector. |
int |
getInitializationVectorLength()
Returns the size of the initialization vector expected by setInitializationVector . |
void |
setInitializationVector(byte[] iv)
Sets the initialization vector. |
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 |
Field Detail |
protected byte[] ivBlock
protected byte[] ivStart
protected int currentByte
protected int length
Constructor Detail |
protected FeedbackMode(boolean implBuffering, boolean implPadding, java.lang.String provider)
Cipher.getInstance
factory methods instead.implBuffering
- if true, this argument indicates that data
will be passed from update/crypt to
engineUpdate/engineCrypt without modification.implPadding
- if true, this argument indicates that the
implementation can perform padding, and that
the engineCrypt method will be called when
padding is required.provider
- the name of the provider of the underlying
cryptographic engine.NullPointerException
- if provider == nullMethod 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.
engineSetCipher
in class Mode
cipher
- the underlying cipher objectNullPointerException
- if cipher == nullpublic void setInitializationVector(byte[] iv) throws java.security.InvalidParameterException
Note: in JavaSoft's version of JCE, this method may only be
called when the cipher is in the UNINITIALIZED
state.
In IJCE that is relaxed to also allow it to be called after
initEncrypt
/initDecrypt
, but before the
first call to update
or crypt
, provided
that the IV is not set twice.
setInitializationVector
in interface FeedbackCipher
iv
- the initialization vector.java.security.InvalidParameterException
- if the initialization vector
is of the wrong length or has already been set.public byte[] getInitializationVector()
getInitializationVector
in interface FeedbackCipher
public int getInitializationVectorLength()
setInitializationVector
. For this class, that is
the block size of the underlying cipher.getInitializationVectorLength
in interface FeedbackCipher
setInitializationVector
.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |