|
Cumulus4j API (1.0.0) |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.cumulus4j.crypto.AbstractCipher
public abstract class AbstractCipher
Abstract base class for Cipher implementations. Implementors should not implement
the Cipher interface directly, but sub-class this class instead.
| Constructor Summary | |
|---|---|
protected |
AbstractCipher(String transformation)
|
| Method Summary | |
|---|---|
protected abstract void |
_init(CipherOperationMode mode,
CipherParameters parameters)
|
byte[] |
doFinal(byte[] in)
Convenience method to encrypt/decrypt the complete input byte array at once. |
CipherOperationMode |
getMode()
Get the mode of this cipher. |
CipherParameters |
getParameters()
Get the parameters of this cipher. |
String |
getTransformation()
Get the transformation that was passed to CryptoRegistry.createCipher(String)
for obtaining this Cipher. |
void |
init(CipherOperationMode mode,
CipherParameters parameters)
Initialise the cipher. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.cumulus4j.crypto.Cipher |
|---|
doFinal, getInputBlockSize, getIVSize, getOutputBlockSize, getOutputSize, getUpdateOutputSize, reset, update, update |
| Constructor Detail |
|---|
protected AbstractCipher(String transformation)
| Method Detail |
|---|
public final String getTransformation()
CipherCryptoRegistry.createCipher(String)
for obtaining this Cipher.
getTransformation in interface Cipher
public byte[] doFinal(byte[] in)
throws DataLengthException,
IllegalStateException,
CryptoException
CipherCipher.reset() implicitly.
doFinal in interface Cipherin - the input to be encrypted or decrypted. Must not be null.
IllegalStateException - if the cipher isn't initialised.
CryptoException - if padding is expected and not found or sth. else goes wrong while encrypting or decrypting.
DataLengthException
public final void init(CipherOperationMode mode,
CipherParameters parameters)
throws IllegalArgumentException
CipherInitialise the cipher.
A cipher cannot be used, before this method was called.
A cipher can be re-initialised to modify only certain parameters (and keep the others). For example to modify
the IV while keeping the key, a cipher can
be re-initialised with an IV only (i.e. null is passed to
ParametersWithIV.ParametersWithIV(CipherParameters, byte[], int, int) instead of a KeyParameter).
This is useful for performance reasons, because modifying an IV is a very fast operation while changing the key is
slow (especially Blowfish is known for its very
slow key initialisation).
init in interface Ciphermode - the operation mode; must not be null.parameters - the parameters; for example an instance of ParametersWithIV with a wrapped KeyParameter
to pass IV and secret key.
IllegalArgumentException - if the given arguments are invalid - for example if the given parameters
are not understood by the implementation (parameters not compatible with the chosen algorithm).public CipherOperationMode getMode()
Ciphernull, before
Cipher.init(CipherOperationMode, CipherParameters) was called the first
time.
getMode in interface Cipherpublic CipherParameters getParameters()
Ciphernull, before
Cipher.init(CipherOperationMode, CipherParameters) was called the first
time.
getParameters in interface Cipher
protected abstract void _init(CipherOperationMode mode,
CipherParameters parameters)
throws IllegalArgumentException
IllegalArgumentException
|
Cumulus4j API (1.0.0) |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||