xjava.security
Interface FeedbackCipher

All Known Implementing Classes:
FeedbackMode

public interface FeedbackCipher

An interface implemented by algorithms that use feedback. Examples include block ciphers in CBC, CFB, or OFB mode.

This interface is used to set or get the initialization vector, which is the data first used as feedback.

Note that initialization vectors are not secret, and should not be used for data (such as cipher keys) where secrecy is required.


Method Summary
 byte[] getInitializationVector()
          Gets the initialization vector for this object.
 int getInitializationVectorLength()
          Returns the size of the initialization vector expected by setInitializationVector.
 void setInitializationVector(byte[] iv)
          Sets the initialization vector for this object.
 

Method Detail

setInitializationVector

public void setInitializationVector(byte[] iv)
Sets the initialization vector for this object. Note that FeedbackCiphers will usually default to a randomly generated vector if none is provided.

This method may only be called on an uninitialized cipher (one in the UNINITIALIZED state) that implements FeedbackCipher.

Parameters:
iv - the initialization vector.
Throws:
InvalidParameterException - if the initialization vector is of the wrong length or otherwise invalid.

getInitializationVector

public byte[] getInitializationVector()
Gets the initialization vector for this object. This may be called on a cipher implementing FeedbackCipher. It will return null if the initialization vector has not been set.
Returns:
the initialization vector for this cipher object.

getInitializationVectorLength

public int getInitializationVectorLength()
Returns the size of the initialization vector expected by setInitializationVector.
Returns:
the required size of the argument to setInitializationVector.