SHOW Signed
 

net.rim.device.api.crypto
Class CBCDecryptorEngine

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

public final class CBCDecryptorEngine
extends Object
implements BlockDecryptorEngine

Provides the functionality of using CBC or Cipher Block Chaining mode for decryption. 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 using the CBC decryptor engine, click here.

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:
CBCEncryptorEngine

Constructor Summary
 Category: Signed CBCDecryptorEngine(BlockDecryptorEngine engine, InitializationVector iv)
          Creates a CBC decryptor engine given an algorithm engine and an initialization vector.
 
Method Summary
 Category: Signed  void decrypt(byte[] ciphertext, int ciphertextOffset, byte[] plaintext, int plaintextOffset)
          Decodes a block of the given ciphertext into a block of plaintext.
 Category: Signed  String getAlgorithm()
          Returns the name of the encryption algorithm used, ie BlockDecryptorEngine.getAlgorithm() + "/CBC".
 Category: Signed  int getBlockLength()
          Returns the block length of the block cipher 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

CBCDecryptorEngine

public CBCDecryptorEngine(BlockDecryptorEngine engine,
                          InitializationVector iv)
Creates a CBC decryptor engine given an algorithm engine and an initialization vector.

Parameters:
engine - The algorithm engine used for decryption.
iv - An initialization vector used for seeding the engine.
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

decrypt

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

Since:
JDE 3.6.0

Following copied from interface: BlockDecryptorEngine
Parameters:
ciphertext - A byte array containing the input that is to be decrypted.
ciphertextOffset - The starting offset, or initial byte position, of the data within the input array.
plaintext - A byte array containing the output from the method.
plaintextOffset - The starting offset, or initial byte position, of the data within the output array.
Throws:
CryptoTokenException - Thrown when an error 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 BlockDecryptorEngine.getAlgorithm() + "/CBC".
Returns:
A string that represents the name of the algorithm used.
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.

getBlockLength

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

Since:
JDE 3.6.0

Following copied from interface: BlockDecryptorEngine
Returns:
An integer that specifies the length of a block of data.
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.