net.rim.device.api.crypto
Class RC2DecryptorEngine

java.lang.Object
  extended by net.rim.device.api.crypto.RC2DecryptorEngine
All Implemented Interfaces:
BlockDecryptorEngine, SymmetricKeyDecryptorEngine

public final class RC2DecryptorEngine
extends Object
implements SymmetricKeyDecryptorEngine

The RC2DecryptorEngine class implements the decryption functionality of the RC2 block cipher.

We implemented RC2 as per RFC 2268.

The RC2 cipher operates on 64 bit blocks and supports key lengths between 1 and 1024 bits.

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:
BlackBerry API 3.6.0

Field Summary
Category: Signed static int BLOCK_LENGTH
          Represents the block length of the cipher in bytes, namely 8 bytes.
 
Constructor Summary
Category: Signed RC2DecryptorEngine(RC2Key key)
          Creates an RC2DecryptorEngine object based on an RC2Key that is initialized and used for decryption of the plaintext for all subsequent calls to the class.
 
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 algorithm used, eg "RC2_64" ("RC2_" + keyBitLength).
Category: Signed  int getBlockLength()
          Returns the block length of the block cipher in bytes.
Category: Signed  int getKeyLength()
          Returns the length of the key in bytes.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 



Field Detail

BLOCK_LENGTH

public static final int BLOCK_LENGTH
Represents the block length of the cipher in bytes, namely 8 bytes.

See Also:
Constant Field Values
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:
BlackBerry API 3.6.0


Constructor Detail

RC2DecryptorEngine

public RC2DecryptorEngine(RC2Key key)
                   throws CryptoTokenException,
                          CryptoUnsupportedOperationException
Creates an RC2DecryptorEngine object based on an RC2Key that is initialized and used for decryption of the plaintext for all subsequent calls to the class.

Parameters:
key - Contains the key material that will be used for decryption.
Throws:
CryptoTokenException - Thrown when an error occurs with a crypto token or the crypto token is invalid.
CryptoUnsupportedOperationException - Thrown when a call is made to an unsupported operation.
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:
BlackBerry API 3.6.0


Method Detail

getAlgorithm

public String getAlgorithm()
Returns the name of the algorithm used, eg "RC2_64" ("RC2_" + keyBitLength).

Specified by:
getAlgorithm in interface BlockDecryptorEngine
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.
Since:
BlackBerry API 3.6.0

getBlockLength

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

Specified by:
getBlockLength in 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.
Since:
BlackBerry API 3.6.0

getKeyLength

public int getKeyLength()
Returns the length of the key in bytes. The key is used by the engine to decrypt data.

Returns:
An integer that represents the length of the key, in 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.
Since:
BlackBerry API 3.6.0

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.

Specified by:
decrypt in 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.
Since:
BlackBerry API 3.6.0





Copyright 1999-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Java is a trademark of Oracle America Inc. in the US and other countries.
Legal