| java.lang.Object com.sun.midp.crypto.Cipher com.sun.midp.crypto.BlockCipherBase
All known Subclasses: com.sun.midp.crypto.DES_ECB, com.sun.midp.crypto.AES_ECB,
BlockCipherBase | abstract class BlockCipherBase extends Cipher (Code) | | Class providing common functionality for DES ciphers.
|
Field Summary | |
protected byte[] | IV Initial vector. | protected int | holdCount The holding buffer counter. | protected byte[] | holdData Contains the data that is not encrypted or decrypted yet. | protected boolean | isUpdated Indicates if this cipher object has been updated or not. | protected int | mode ENCRYPT or DECRYPT. | protected Padder | padder The padder. |
Method Summary | |
public int | doFinal(byte in, int offset, int len, byte out, int outOffset) Encrypts or decrypts data in a single-part operation, or finishes a
multiple-part operation. | protected void | doInit(int mode, String keyAlgorithm, Key key, boolean needIV, CryptoParameter params) Initializes a cipher object with the key and sets
encryption or decryption mode. | public byte[] | getIV() Returns the initialization vector (IV) in a new buffer. | abstract void | initKey(byte[] data, int mode) Initializes key. | abstract void | processBlock(byte[] out, int offset) Depending on the mode, either encrypts or decrypts data block. | protected void | restoreState() Restores cipher state. | protected void | saveState() Saves cipher state. | protected void | setPadding(String padding) Sets the padder. | public int | update(byte in, int offset, int len, byte out, int outOffset) Continues a multiple-part encryption or decryption operation
(depending on how this cipher was initialized), processing another data
part. |
IV | protected byte[] IV(Code) | | Initial vector.
|
holdCount | protected int holdCount(Code) | | The holding buffer counter.
|
holdData | protected byte[] holdData(Code) | | Contains the data that is not encrypted or decrypted yet.
|
isUpdated | protected boolean isUpdated(Code) | | Indicates if this cipher object has been updated or not.
|
mode | protected int mode(Code) | | ENCRYPT or DECRYPT.
|
BlockCipherBase | protected BlockCipherBase(int blockSize)(Code) | | Constructor.
Parameters: blockSize - block size |
doFinal | public int doFinal(byte in, int offset, int len, byte out, int outOffset) throws IllegalStateException, IllegalBlockSizeException, ShortBufferException, BadPaddingException(Code) | | Encrypts or decrypts data in a single-part operation, or finishes a
multiple-part operation. The data is encrypted or decrypted,
depending on how this cipher was initialized.
Parameters: in - the input buffer Parameters: offset - the offset in input where the inputstarts Parameters: len - the input length Parameters: out - the buffer for the result Parameters: outOffset - the offset in output where the resultis stored the number of bytes stored in output exception: IllegalStateException - if this cipher is in a wrong state(e.g., has not been initialized) exception: IllegalBlockSizeException - if this cipher is a block cipher,no padding has been requested (only in encryption mode), and the totalinput length of the data processed by this cipher is not a multiple ofblock size exception: ShortBufferException - if the given output buffer is too smallto hold the result exception: BadPaddingException - if this cipher is in decryption mode,and (un)padding has been requested, but the decrypted data is notbounded by the appropriate padding bytes |
doInit | protected void doInit(int mode, String keyAlgorithm, Key key, boolean needIV, CryptoParameter params) throws InvalidKeyException, InvalidAlgorithmParameterException(Code) | | Initializes a cipher object with the key and sets
encryption or decryption mode.
Parameters: mode - either encryption or decription mode Parameters: keyAlgorithm - algorithm the key should have Parameters: key - key to be used Parameters: needIV - true if this algorithm accepts IV parameter Parameters: params - the algorithm parameters exception: InvalidKeyException - if the given keyis inappropriate for initializing this cipher exception: InvalidAlgorithmParameterException - if the given algorithm parameters are inappropriate for this cipher |
getIV | public byte[] getIV()(Code) | | Returns the initialization vector (IV) in a new buffer.
This is useful in the case where a random IV was created.
the initialization vector in a new buffer,or null if the underlying algorithm doesnot use an IV. |
initKey | abstract void initKey(byte[] data, int mode) throws InvalidKeyException(Code) | | Initializes key.
Parameters: data - key data Parameters: mode - cipher mode exception: InvalidKeyException - if the given key is inappropriatefor this cipher |
processBlock | abstract void processBlock(byte[] out, int offset)(Code) | | Depending on the mode, either encrypts or decrypts data block.
Parameters: out - will contain the result of encryptionor decryption operation Parameters: offset - is the offset in out |
restoreState | protected void restoreState()(Code) | | Restores cipher state.
|
saveState | protected void saveState()(Code) | | Saves cipher state.
|
setPadding | protected void setPadding(String padding) throws NoSuchPaddingException(Code) | | Sets the padder.
Parameters: padding - Upper case padding arg from the transformation given toCipher.getInstance exception: NoSuchPaddingException - if padding contains a padding scheme that is not available. |
update | public int update(byte in, int offset, int len, byte out, int outOffset) throws IllegalStateException, ShortBufferException(Code) | | Continues a multiple-part encryption or decryption operation
(depending on how this cipher was initialized), processing another data
part.
Parameters: in - the input buffer Parameters: offset - the offset in input where the inputstarts Parameters: len - the input length Parameters: out - the buffer for the result Parameters: outOffset - the offset in output where the resultis stored the number of bytes stored in output exception: IllegalStateException - if this cipher is in a wrong state(e.g., has not been initialized) exception: ShortBufferException - if the given output buffer is too smallto hold the result |
Methods inherited from com.sun.midp.crypto.Cipher | abstract public int doFinal(byte[] input, int inputOffset, int inputLen, byte[] output, int outputOffset) throws IllegalStateException, ShortBufferException, IllegalBlockSizeException, BadPaddingException(Code)(Java Doc) public byte[] getIV()(Code)(Java Doc) final public static Cipher getInstance(String transformation) throws NoSuchAlgorithmException, NoSuchPaddingException(Code)(Java Doc) public void init(int opmode, Key key) throws InvalidKeyException(Code)(Java Doc) abstract public void init(int opmode, Key key, CryptoParameter params) throws InvalidKeyException, InvalidAlgorithmParameterException(Code)(Java Doc) abstract protected void setChainingModeAndPadding(String mode, String padding) throws NoSuchPaddingException(Code)(Java Doc) abstract public int update(byte[] input, int inputOffset, int inputLen, byte[] output, int outputOffset) throws IllegalStateException, ShortBufferException(Code)(Java Doc)
|
|
|