|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--net.rim.device.api.crypto.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 void encrypt(byte[] plaintext,
int plaintextOffset,
byte[] ciphertext,
int ciphertextOffset)
throws CryptoTokenException
BlockEncryptorEngine
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.public String getAlgorithm()
BlockDecryptorEngine.getAlgorithm() + "/X".
public int getBlockLength()
BlockEncryptorEngine
BlockEncryptorEnginepublic InitializationVector getPostWhitening()
public InitializationVector getPreWhitening()
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.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Copyright 1999-2009 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.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.