net.rim.device.api.crypto
Class CAST128EncryptorEngine

java.lang.Object
  extended by net.rim.device.api.crypto.CAST128EncryptorEngine
All Implemented Interfaces:
BlockEncryptorEngine, SymmetricKeyEncryptorEngine

public final class CAST128EncryptorEngine
extends Object
implements SymmetricKeyEncryptorEngine

Creates a CAST 128 encryption 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. For information on cryptographic algorithms, see Crypto Algorithms.

(@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
          A public value stating the block length in bytes for the algorithm, namely 8 bytes.
 
Constructor Summary
Category: Signed CAST128EncryptorEngine(CAST128Key key)
          Creates a CAST128EncryptorEngineobject given a CAST128 key.
 
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 algorithm used, ie "CAST128".
Category: Signed  int getBlockLength()
          Returns the block length of the engine 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
A public value stating the block length in bytes for the algorithm, 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

CAST128EncryptorEngine

public CAST128EncryptorEngine(CAST128Key key)
                       throws CryptoTokenException,
                              CryptoUnsupportedOperationException
Creates a CAST128EncryptorEngineobject given a CAST128 key.

Parameters:
key - The CAST128 key to use for the engine.
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 BlockEncryptorEngine
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: BlockEncryptorEngine
Returns the block length of the engine in bytes.

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

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.

Specified by:
encrypt in 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.
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