|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.rim.device.api.crypto.AbstractPseudoRandomSource
net.rim.device.api.crypto.OFBPseudoRandomSource
public final class OFBPseudoRandomSource
OFBPseudoRandomSource uses a symmetric key block cipher in Output Feedback Mode to provide a sequence of pseudo random bytes. OFB mode is defined in FIPS 81.
More than one message can be encrypted with the same key provided that a different initialization vector (IV) is used every time.
Note that any change in the ciphertext directly affects the plaintext. A ciphertext error only effects the corresponding bit of plaintext (this is why it is considered a stream cipher).
The width of the feedback is the block size of the cipher. For example, when used with DES, OFB uses 64 bit feedback.
For a code sample using the OFB pseudo random source, click here.
For information on cryptographic algorithms, see Crypto Algorithms.
Constructor Summary | ||
---|---|---|
|
OFBPseudoRandomSource(SymmetricKeyEncryptorEngine engine,
InitializationVector iv)
Creates an OFBPseudoRandomSource object based on the specified encryptor engine and
initialization vector. |
Method Summary | ||
---|---|---|
|
String |
getAlgorithm()
Returns the name of this PseudoRandomSource. |
|
int |
getAvailable()
Returns the number of pseudo random bytes currently available. |
|
int |
getMaxAvailable()
Returns the maximum number of pseudo random bytes that this PRNG can produce. |
|
void |
xorBytes(byte[] buffer,
int offset,
int length)
Exclusive-OR's random bytes into the given buffer starting at the specified array offset. |
Methods inherited from class net.rim.device.api.crypto.AbstractPseudoRandomSource |
---|
getBytes, getBytes, getBytes, xorBytes, xorBytes, xorCopy, xorCopy |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface net.rim.device.api.crypto.PseudoRandomSource |
---|
getBytes, getBytes, getBytes, xorBytes, xorBytes, xorCopy, xorCopy |
Constructor Detail |
---|
public OFBPseudoRandomSource(SymmetricKeyEncryptorEngine engine, InitializationVector iv) throws CryptoTokenException
OFBPseudoRandomSource
object based on the specified encryptor engine and
initialization vector.
engine
- The encryption engine (algorithm) that will be used for the OFB mode.iv
- The initialization vector that is to be used for the OFB mode (must have
the same length as the engine's block length).
CryptoTokenException
- Thrown if an error occurs with the crypto
token or the crypto token is invalid.Method Detail |
---|
public String getAlgorithm()
SymmetricKeyEncryptorEngine.getAlgorithm() + "/OFB"
.
getAlgorithm
in interface PseudoRandomSource
public void xorBytes(byte[] buffer, int offset, int length) throws CryptoTokenException
AbstractPseudoRandomSource
xorBytes
in interface PseudoRandomSource
xorBytes
in class AbstractPseudoRandomSource
buffer
- The byte array to xor the bytes into.offset
- The starting offset within buffer.length
- The number of bytes to xor.
CryptoTokenException
- Occurs when a problem occurs with a
crypto token or the crypto token is invalid.public int getAvailable()
PseudoRandomSource
For PRNG sources that have an indefinite length but implement
this interface, the value returned is Integer.MAX
.
getAvailable
in interface PseudoRandomSource
public int getMaxAvailable()
PseudoRandomSource
For PRNG sources that have an indefinite length but implement
this interface, the value returned is Integer.MAX
.
getMaxAvailable
in interface PseudoRandomSource
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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