SHOW Signed
 

net.rim.device.api.crypto
Class CBCEncryptorEngine

java.lang.Object
  |
  +--net.rim.device.api.crypto.CBCEncryptorEngine
All Implemented Interfaces:
BlockEncryptorEngine

public final class CBCEncryptorEngine
extends Object
implements BlockEncryptorEngine

Provides the functionality of using CBC or Cipher Block Chaining mode for encryption. CBC mode is defined in FIPS 81.

CBC Mode is defined where the encryption of each block depends on the encryption of the previous block. Note also that with CBC mode an Initialization Vector (IV) is required. If one is not supplied a random IV is generated.

For a code sample of how to use the DES encryptor engine with CBC mode check here.

For information on cryptographic algorithms, see Crypto Algorithms.

Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

Since:
JDE 3.6.0
See Also:
CBCDecryptorEngine

Constructor Summary
 Category: Signed CBCEncryptorEngine(BlockEncryptorEngine engine)
          Creates a CBC encryptor engine with the given algorithm engine.
 Category: Signed CBCEncryptorEngine(BlockEncryptorEngine engine, InitializationVector iv)
          Creates a CBC encryptor engine with the given algorithm engine and initialization vector.
 
Method Summary
 Category: Signed  void encrypt(byte[] plaintext, int plaintextOffset, byte[] ciphertext, int ciphertextOffset)
          Encrypts a block of the given plaintext into a block of ciphertext.
 Category: Signed  String getAlgorithm()
          Returns the name of the encryption algorithm used, ie BlockEncryptorEngine.getAlgorithm() + "/CBC".
 Category: Signed  int getBlockLength()
          Returns the block length of the engine in bytes.
 Category: Signed  InitializationVector getIV()
          Returns the initialization vector associated with this decryptor engine.
 Category: Signed  void setIV(InitializationVector iv)
          Sets the initialization vector associated with this decryptor engine.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CBCEncryptorEngine

public CBCEncryptorEngine(BlockEncryptorEngine engine)
Creates a CBC encryptor engine with the given algorithm engine. A random initialization vector is created. Use getIV to retrieve the initialization vector.

Parameters:
engine - an algorithm engine used for encryption.
Since:
JDE 3.6.0
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

CBCEncryptorEngine

public CBCEncryptorEngine(BlockEncryptorEngine engine,
                          InitializationVector iv)
Creates a CBC encryptor engine with the given algorithm engine and initialization vector.

Parameters:
engine - an algorithm engine used for encryption.
iv - an initialization vector used for seeding the mode.
Since:
JDE 3.6.0
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Method Detail

encrypt

public void encrypt(byte[] plaintext,
                    int plaintextOffset,
                    byte[] ciphertext,
                    int ciphertextOffset)
             throws CryptoTokenException
Description copied from interface: BlockEncryptorEngine
Encrypts a block of the given plaintext into a block of ciphertext.

Since:
JDE 3.6.0

Following copied from interface: BlockEncryptorEngine
Parameters:
plaintext - A byte array containing the input that is to be encrypted.
plaintextOffset - The starting offset, or initial byte position, of the data within the input array.
ciphertext - A byte array to hold the ciphertext output from the method.
ciphertextOffset - The starting offset, or initial byte position, of the data within the output array.
Throws:
CryptoTokenException - Thrown when an problem occurs with the crypto token or the crypto token is invalid.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

getAlgorithm

public String getAlgorithm()
Returns the name of the encryption algorithm used, ie BlockEncryptorEngine.getAlgorithm() + "/CBC".
Since:
JDE 3.6.0

Following copied from interface: BlockEncryptorEngine
Returns:
A String that represents the name of the algorithm.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

getBlockLength

public int getBlockLength()
Description copied from interface: BlockEncryptorEngine
Returns the block length of the engine in bytes.

Since:
JDE 3.6.0

Following copied from interface: BlockEncryptorEngine
Returns:
An integer that represents the number of bytes.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

getIV

public InitializationVector getIV()
Returns the initialization vector associated with this decryptor engine.

Returns:
The initialization vector.
Since:
JDE 3.6.0
See Also:
setIV(net.rim.device.api.crypto.InitializationVector)
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

setIV

public void setIV(InitializationVector iv)
Sets the initialization vector associated with this decryptor engine.

Parameters:
iv - An initialization vector used for seeding the engine.
Since:
JDE 3.6.0
See Also:
getIV()
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.



Copyright 1999-2009 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.