|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.rim.device.api.crypto.XEncryptorEngine
public final class XEncryptorEngine
The XEncryptorEngine class efficiently extends the key space of a block cipher, by whitening (ie xor'ing) random secret data before
and after the cipher executes. The whitening vectors must remain secret.
E( key, plaintext ) = E( key, plaintext ^ preWhitening ) ^ postWhitening
For a code sample using the X encryptor engine, click here.
XDecryptorEngine| Constructor Summary | ||
|---|---|---|
|
XEncryptorEngine(BlockEncryptorEngine engine)
Creates an XEncryptorEngine object with the given algorithm engine. |
|
|
XEncryptorEngine(BlockEncryptorEngine engine,
InitializationVector preWhitening,
InitializationVector postWhitening)
Creates an XEncryptorEngine with the given algorithm engine and whitening vectors. |
|
| Method Summary | ||
|---|---|---|
|
void |
encrypt(byte[] plaintext,
int plaintextOffset,
byte[] ciphertext,
int ciphertextOffset)
Encrypts a block of the given plaintext into a block of ciphertext. |
|
String |
getAlgorithm()
Returns the name of the encryption algorithm used, ie BlockDecryptorEngine.getAlgorithm() + "/X". |
|
int |
getBlockLength()
Returns the block length of the engine in bytes. |
|
InitializationVector |
getPostWhitening()
Returns the whitening vector that is applied to the ciphertext. |
|
InitializationVector |
getPreWhitening()
Returns the whitening vector that is applied to the plaintext. |
|
void |
setWhiteningVectors(InitializationVector preWhitening,
InitializationVector postWhitening)
Sets the pre and post whitening vectors. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public XEncryptorEngine(BlockEncryptorEngine engine)
XEncryptorEngine object with the given algorithm engine. Use the
getPreWhitening() and getPostWhitening()
methods to retrieve the whitening vectors.
engine - The algorithm engine to be used for encryption.
public XEncryptorEngine(BlockEncryptorEngine engine,
InitializationVector preWhitening,
InitializationVector postWhitening)
XEncryptorEngine with the given algorithm engine and whitening vectors.
engine - The algorithm engine used for encryption.preWhitening - The whitening vector that is applied to the plaintext. This should remain secret.postWhitening - The whitening vector that is applied to the ciphertext. This should remain secret.| Method Detail |
|---|
public String getAlgorithm()
BlockDecryptorEngine.getAlgorithm() + "/X".
getAlgorithm in interface BlockEncryptorEnginepublic int getBlockLength()
BlockEncryptorEngine
getBlockLength in interface BlockEncryptorEngine
public void setWhiteningVectors(InitializationVector preWhitening,
InitializationVector postWhitening)
preWhitening - The whitening vector that is applied to the plaintext. This should remain secret.postWhitening - The whitening vector that is applied to the ciphertext. This should remain secret.public InitializationVector getPreWhitening()
public InitializationVector getPostWhitening()
public void encrypt(byte[] plaintext,
int plaintextOffset,
byte[] ciphertext,
int ciphertextOffset)
throws CryptoTokenException
BlockEncryptorEngine
encrypt in interface BlockEncryptorEngineplaintext - 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.
CryptoTokenException - Thrown when an problem occurs with the
crypto token or the crypto token is invalid.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
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.