net.rim.device.api.crypto
Class CAST128DecryptorEngine

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

public final class CAST128DecryptorEngine
extends Object
implements SymmetricKeyDecryptorEngine

Creates a CAST 128 decryption engine. The CAST algorithm was designed by Carlisle Adams and Stafford Tavares. This version of CAST has a 128 bit key and a 64 bit block size.

This cipher is available worldwide on a royalty-free basis for commercial and non-commercial use.

For more information please refer to RFC 2144.

(@link CAST128Key More information on the key used in this engine.)

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 CAST128DecryptorEngine(CAST128Key key)
          Creates a CAST128DecryptorEngine object based on a given CAST128 key.
 
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, ie "CAST128".
Category: Signed  int getBlockLength()
          Returns the block length of the block cipher 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

CAST128DecryptorEngine

public CAST128DecryptorEngine(CAST128Key key)
                       throws CryptoTokenException,
                              CryptoUnsupportedOperationException
Creates a CAST128DecryptorEngine object based on a given CAST128 key.

Parameters:
key - A CAST128 key containing the key material that will be used for decryption.

Throws:
CryptoTokenException - Thrown when a problem occurs with a crypto token or the crypto token is invalid.
CryptoUnsupportedOperationException - Thrown if 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, ie "CAST128".

This method will always return the string "CAST128".

Specified by:
getAlgorithm in interface BlockDecryptorEngine
Returns:
A string representing 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

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-2010 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. All Rights Reserved.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark of Sun Microsystems, Inc.