SHOW Signed
 

net.rim.device.api.crypto
Class PKCS1MGF1PseudoRandomSource

java.lang.Object
  |
  +--net.rim.device.api.crypto.AbstractPseudoRandomSource
        |
        +--net.rim.device.api.crypto.PKCS1MGF1PseudoRandomSource
All Implemented Interfaces:
PseudoRandomSource

public final class PKCS1MGF1PseudoRandomSource
extends AbstractPseudoRandomSource
implements PseudoRandomSource

The PKCS1MGF1PseudoRandomSource class implements the PKCS1 mask generation function (MGF1), using a digest to expand a finite length seed into an arbitrarily long stream of pseudo-random bytes.

We implemented the PKCS1 MGF as per the PKCS #1 version 2.1 document.

Category:
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:
JDE 3.6.0

Constructor Summary
 Category: Signed PKCS1MGF1PseudoRandomSource(byte[] seed)
          Creates a PKCS1MGF1PseudoRandomSource object using a seed.
 Category: Signed PKCS1MGF1PseudoRandomSource(byte[] seed, Digest digest)
          Creates a PKCS1MGF1PseudoRandomSource object using a seed and a digest.
 Category: Signed PKCS1MGF1PseudoRandomSource(byte[] seed, int offset, int length)
          Creates a PKCS1MGF1PseudoRandomSource object using a seed.
 Category: Signed PKCS1MGF1PseudoRandomSource(byte[] seed, int offset, int length, Digest digest)
          Creates a PKCS1MGF1PseudoRandomSource object using a seed and a digest.
 Category: Signed PKCS1MGF1PseudoRandomSource(SymmetricKey seed)
          Creates a PKCS1MGF1PseudoRandomSource object using a SymmetricKey seed.
 Category: Signed PKCS1MGF1PseudoRandomSource(SymmetricKey seed, Digest digest)
          Creates a PKCS1MGF1PseudoRandomSource object using a SymmetricKey seed and a digest.
 
Method Summary
 Category: Signed  String getAlgorithm()
          Returns the name of this PseudoRandomSource "PKCS1MGF1".
 Category: Signed  int getAvailable()
          Returns the number of pseudo random bytes currently available.
 Category: Signed  int getMaxAvailable()
          Returns the maximum number of pseudo random bytes that this PRNG can produce.
 Category: Signed  void xorBytes(byte[] buffer, int offset, int length)
          Exclusive-OR's (xor) 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

PKCS1MGF1PseudoRandomSource

public PKCS1MGF1PseudoRandomSource(byte[] seed)
Creates a PKCS1MGF1PseudoRandomSource object using a seed. This constructor will by default use the SHA1Digest for the digest.

Parameters:
seed - A byte array containing the seed that will be used to seed the digest.
Since:
JDE 3.6.0
Category:
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.

PKCS1MGF1PseudoRandomSource

public PKCS1MGF1PseudoRandomSource(byte[] seed,
                                   Digest digest)
Creates a PKCS1MGF1PseudoRandomSource object using a seed and a digest.

Parameters:
seed - A byte array containing the seed that will be used to seed the digest.
digest - The digest to be used for the pseudo random source.
Since:
JDE 3.6.0
Category:
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.

PKCS1MGF1PseudoRandomSource

public PKCS1MGF1PseudoRandomSource(byte[] seed,
                                   int offset,
                                   int length)
Creates a PKCS1MGF1PseudoRandomSource object using a seed. This constructor will by default use the SHA1Digest for the digest.

Parameters:
seed - A byte array containing the seed that will be used to seed the digest.
offset - The offset, or starting position, of the seed data within the array.
length - The number of bytes to use as seed data.
Since:
JDE 3.6.0
Category:
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.

PKCS1MGF1PseudoRandomSource

public PKCS1MGF1PseudoRandomSource(byte[] seed,
                                   int offset,
                                   int length,
                                   Digest digest)
Creates a PKCS1MGF1PseudoRandomSource object using a seed and a digest.

Parameters:
seed - A byte array containing the seed that will be used to seed the digest.
digest - The digest to be used for the pseudo random source.
length - The length of the portion of seed to be used.
offset - The offset, or start position, of the portion to be used.
Since:
JDE 3.6.0
Category:
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.

PKCS1MGF1PseudoRandomSource

public PKCS1MGF1PseudoRandomSource(SymmetricKey seed)
                            throws CryptoTokenException,
                                   CryptoUnsupportedOperationException
Creates a PKCS1MGF1PseudoRandomSource object using a SymmetricKey seed. This constructor will use the SHA1Digest by default.

Parameters:
seed - A symmetric key containing the seed that will be used to seed the digest.
Throws:
CryptoTokenException - Thrown if an error occurs with the crypto token or the crypto token is invalid.
CryptoUnsupportedOperationException - Thrown if a call is made to an unsupported operation.
Since:
JDE 3.6.0
Category:
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.

PKCS1MGF1PseudoRandomSource

public PKCS1MGF1PseudoRandomSource(SymmetricKey seed,
                                   Digest digest)
                            throws CryptoTokenException,
                                   CryptoUnsupportedOperationException
Creates a PKCS1MGF1PseudoRandomSource object using a SymmetricKey seed and a digest.

Parameters:
seed - A symmetric key containing the seed that will be used to seed the digest.
digest - The digest to be used for the pseudo random source.
Throws:
CryptoTokenException - Thrown if an error occurs with the crypto token or the crypto token is invalid.
CryptoUnsupportedOperationException - Thrown if a call is made to an unsupported operation.
Since:
JDE 3.6.0
Category:
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.
Method Detail

getAlgorithm

public String getAlgorithm()
Returns the name of this PseudoRandomSource "PKCS1MGF1".

This method will always return the String "PKCS1MGF1".

Returns:
A String representing the name of the algorithm.
Since:
JDE 3.6.0
Category:
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.

getAvailable

public int getAvailable()
Description copied from interface: PseudoRandomSource
Returns the number of pseudo random bytes currently available.

For PRNG sources that have an indefinite length but implement this interface, the value returned is Integer.MAX.

Since:
JDE 3.6.0

Following copied from interface: PseudoRandomSource
Returns:
An integer that represents the number of bytes.
Throws:
CryptoTokenException - Thrown when a problem occurs with a crypto token or the crypto token is invalid.
Category:
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.

getMaxAvailable

public int getMaxAvailable()
Description copied from interface: PseudoRandomSource
Returns the maximum number of pseudo random bytes that this PRNG can produce.

For PRNG sources that have an indefinite length but implement this interface, the value returned is Integer.MAX.

Since:
JDE 3.6.0

Following copied from interface: PseudoRandomSource
Returns:
An integer that specifies the maximum number of random bytes that can be produced.
Throws:
CryptoTokenException - Thrown when a problem occurs with a crypto token or the crypto token is invalid.
Category:
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.

xorBytes

public void xorBytes(byte[] buffer,
                     int offset,
                     int length)
Description copied from interface: PseudoRandomSource
Exclusive-OR's (xor) random bytes into the given buffer starting at the specified array offset.

Specified by:
xorBytes in interface PseudoRandomSource
Overrides:
xorBytes in class AbstractPseudoRandomSource
Since:
JDE 3.6.0

Following copied from interface: PseudoRandomSource
Parameters:
buffer - The buffer to xor the bytes into.
offset - The starting offset, or initial bit position, of the data within the buffer.
length - The number of bytes to xor.
Throws:
IllegalStateException - if the available random bytes are exhausted.
CryptoTokenException - Thrown when a problem occurs with a crypto token or the crypto token is invalid.
Category:
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.



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.