|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--net.rim.device.api.crypto.XDecryptorEngine
XDecryptorEngine 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.
D( key, plaintext ) = D( key, ciphertext ^ postWhitening ) ^ preWhitening
For a code sample using the X decryptor engine, click here.
XEncryptorEngine| Constructor Summary | ||
|
XDecryptorEngine(BlockDecryptorEngine engine,
InitializationVector preWhitening,
InitializationVector postWhitening)
Creates an XDecryptorEngine object with the given algorithm engine and whitening vectors. |
|
| Method Summary | ||
|
void |
decrypt(byte[] ciphertext,
int ciphertextOffset,
byte[] plaintext,
int plaintextOffset)
Decodes a block of the given ciphertext into a block of plaintext. |
|
String |
getAlgorithm()
Returns the name of the encryption algorithm used, ie BlockDecryptorEngine.getAlgorithm() + "/X". |
|
int |
getBlockLength()
Returns the block length of the block cipher 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 XDecryptorEngine(BlockDecryptorEngine engine, InitializationVector preWhitening, InitializationVector postWhitening)
XDecryptorEngine object with the given algorithm engine and whitening vectors.
engine - The algorithm engine used for decryption.preWhitening - The whitening vector that is applied to the plaintext. This should remain secret. These must not be null.postWhitening - The whitening vector that is applied to the ciphertext. This should remain secret. These must not be null.| Method Detail |
public void decrypt(byte[] ciphertext,
int ciphertextOffset,
byte[] plaintext,
int plaintextOffset)
throws CryptoTokenException
BlockDecryptorEngine
BlockDecryptorEngineciphertext - 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.CryptoTokenException - Thrown when an error occurs with the crypto
token or the crypto token is invalid.public String getAlgorithm()
BlockDecryptorEngine.getAlgorithm() + "/X".
public int getBlockLength()
BlockDecryptorEngine
BlockDecryptorEnginepublic 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-2007 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.