net.rim.device.api.crypto
Class ElGamalDecryptorEngine
java.lang.Object
net.rim.device.api.crypto.ElGamalDecryptorEngine
- All Implemented Interfaces:
- BlockDecryptorEngine, PrivateKeyDecryptorEngine
public final class ElGamalDecryptorEngine
- extends Object
- implements PrivateKeyDecryptorEngine
In order to decrypt with the ElGamal decryptor engine, two keys are required.
The version of ElGamal that we implemented can be found in "Applied Cryptography", by Bruce Schneier,
in section 19.6 ( 1996 ).
The decrypting private key and a second ephemeral key must be recieved along
with ciphertext. BOTH are necessary to decrypt the data.
- Category:
- Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.
Certicom Contact Information
Phone:905-507-4220
Email: sales@certicom.com
Website: http://www.certicom.com/rim
- 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 Summary |
|
void |
decrypt(byte[] ciphertext,
int ciphertextOffset,
byte[] plaintext,
int plaintextOffset)
Decrypts the plaintext using the ElGamal algorithm. |
|
String |
getAlgorithm()
Returns the name of the algorithm used to encrypt the data. |
|
int |
getBlockLength()
Returns the length of a block. |
ElGamalDecryptorEngine
public ElGamalDecryptorEngine(DHPrivateKey localPrivateKey,
DHPublicKey remoteEphemeralKey)
throws CryptoTokenException,
CryptoUnsupportedOperationException
- Creates an
ElGamalDecryptorEngine object.
- Parameters:
localPrivateKey - The private key that the encrypted message with.remoteEphemeralKey - The ephemeral key created by the encryptor engine.
- Throws:
CryptoTokenException - Thrown if an error occurs with a crypto token
or the crypto token is invalid.
CryptoUnsupportedOperationException - Thrown if a call is made to an
unsupported operation.- Category:
- Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.
Certicom Contact Information
Phone:905-507-4220
Email: sales@certicom.com
Website: http://www.certicom.com/rim
- 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
- Decrypts the plaintext using the ElGamal algorithm.
- Specified by:
decrypt in interface BlockDecryptorEngine
- Parameters:
ciphertext - The byte array containing the ciphertext to decode.ciphertextOffset - The offset, or start position, of the ciphertext
within the array.plaintext - The array to store the plaintext.plaintextOffset - The offset, or start position, of the plaintext
withiin the array.
- Throws:
CryptoTokenException - Thrown if an error occurs with a crypto
token or the crypto token is invalid.- Category:
- Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.
Certicom Contact Information
Phone:905-507-4220
Email: sales@certicom.com
Website: http://www.certicom.com/rim
- 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
getAlgorithm
public String getAlgorithm()
- Returns the name of the algorithm used to encrypt the data.
This method will always return the String "ElGamal".
- Specified by:
getAlgorithm in interface BlockDecryptorEngine
- Returns:
- The name of the algorithm used, ie "ElGamal".
- Category:
- Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.
Certicom Contact Information
Phone:905-507-4220
Email: sales@certicom.com
Website: http://www.certicom.com/rim
- 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()
- Returns the length of a block.
A block represents the amount of data that can encrypted or decrypted at
one time.
- Specified by:
getBlockLength in interface BlockDecryptorEngine
- Returns:
- The required length of each block, in bytes, to be passed through the decryptor.
- Category:
- Certicom: This element is part of the Certicom Cryptography APIs. The Certicom Cryptography APIs provide the tools you need, including ECC based algorithms, to integrate high performance data security into your applications, such as public key data encryption and decryption, digital signatures, and data authentication. Since the Certicom Cryptography API is already in the JDE, its use will remove the need for you to engage in time and resource intensive security integration so that you have lower development costs and a faster time to market. Use of the Certicom Cryptography API requires a license from Certicom. Please contact Certicom directly for more information on licensing fees and conditions.
Certicom Contact Information
Phone:905-507-4220
Email: sales@certicom.com
Website: http://www.certicom.com/rim
- 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.