All Packages Class Hierarchy This Package Previous Next Index
Class is.logi.crypto.modes.EncryptCBC
java.lang.Object
|
+----is.logi.crypto.Crypto
|
+----is.logi.crypto.modes.EncryptMode
|
+----is.logi.crypto.modes.EncryptCBC
- public class EncryptCBC
- extends EncryptMode
Cipher Block Chaining mode xors each plain block with the previous
cipher block before encrypting.
Because CBC mode encrypts one block at a time, encryption is only
performed when a full block of data has been sent to the object.
This also means that when you call the flush() method, random data
is appended to the block before encryption. This can be avoided in
two ways: Either by flushing regularly and sending the size of the
data packets to the reciever, or by using the CFB of OFB modes.
- Author:
- Logi Ragnarsson
(logir@hi.is)
- See Also:
- DecryptCBC
-
EncryptCBC()
- Create a new CBC-mode encrypt session with no key.
-
EncryptCBC(CipherKey)
-
Create a new CBC-mode encrypt session with the specified key.
-
encrypt(byte[], int, int)
- Send bytes to the EncryptCBC object for encryption.
-
flush()
- Padds the internal buffer, encrypts it and returns the
ciphertext.
-
getKey()
- Return the key used for encryption.
-
setKey(CipherKey)
- Set the key to use for encryption.
EncryptCBC
public EncryptCBC(CipherKey key)
- Create a new CBC-mode encrypt session with the specified key.
EncryptCBC
public EncryptCBC()
- Create a new CBC-mode encrypt session with no key. No
encryption can be performed until the
setKey()
method has been called.
getKey
public CipherKey getKey()
- Return the key used for encryption.
- Overrides:
- getKey in class EncryptMode
setKey
public void setKey(CipherKey key)
- Set the key to use for encryption. Do not call this method
when there may be data in the internal buffer.
- Overrides:
- setKey in class EncryptMode
flush
public synchronized byte[] flush()
- Padds the internal buffer, encrypts it and returns the
ciphertext.
- Overrides:
- flush in class EncryptMode
encrypt
public synchronized byte[] encrypt(byte source[],
int i,
int length)
- Send bytes to the EncryptCBC object for encryption.
Encrypt length
bytes from source
,
starting at i
and return the ciphertext. Data is
encrypted in blocks, so only whole blocks of ciphertext
are written to dest
. Any remaining plaintext will be
stored and prepended to source
in the next call to
encrypt
.
- Overrides:
- encrypt in class EncryptMode
All Packages Class Hierarchy This Package Previous Next Index