|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--net.rim.device.api.crypto.KEACryptoSystem
Represents the system of asymmetric cryptography which is based on the Discrete Logarithm Problem.
A description of the KEA algorithm can be found at KEA.
| Field Summary | ||
|
static String |
FORTEZZA
Represents the 1024 bit parameters defined in Fortezza. |
|
static String |
SUN1024
Represents the 1024 bit parameters defined in the SUN JCA. |
| Constructor Summary | ||
|
KEACryptoSystem()
Creates the KEACryptoSystem object with the Fortezza parameters. |
|
|
KEACryptoSystem(byte[] p,
byte[] q,
byte[] g)
Creates a KEACryptoSystem object with the specified p, q and g
domain parameters.
|
|
|
KEACryptoSystem(byte[] p,
byte[] q,
byte[] g,
String name)
Creates a KEACryptosystem object with the specified p, q and g
domain parameters.
|
|
|
KEACryptoSystem(String name)
Creates the KEACryptoSystem object using the specified parameters.
|
|
| Method Summary | ||
|
KEAKeyPair |
createKEAKeyPair()
|
|
KeyPair |
createKeyPair()
Creates a new key pair using this crypto system. |
|
boolean |
equals(Object obj)
Indicates whether some other object is "equal to" this one. |
|
String |
getAlgorithm()
Returns a String that indicates the algorithm, ie "KEA". |
|
int |
getBitLength()
Returns the number of bits (aka the "strength") of the crypto system, eg 1024 (for RSA), 163 (for EC). |
|
byte[] |
getG()
Returns the g domain parameter. |
|
String |
getName()
Returns a String that indicates the set of parameters in use, eg "SUN1024", or null. |
|
byte[] |
getP()
Returns the p domain parameter. |
|
int |
getPrivateKeyLength()
Returns the length of the private key. |
|
int |
getPublicKeyLength()
Returns the length of the public key. |
|
byte[] |
getQ()
Returns the q domain parameter, or null. |
|
int |
hashCode()
Returns a hash code value for the object. |
|
boolean |
isStrong()
Returns whether or not the CryptoSystem is cryptographically strong as of the release date of the code. |
|
void |
verify()
Performs integrity checks on the crypto system parameters. |
| Methods inherited from class java.lang.Object |
getClass, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final String SUN1024
public static final String FORTEZZA
| Constructor Detail |
public KEACryptoSystem()
KEACryptoSystem object with the Fortezza parameters.public KEACryptoSystem(String name)
KEACryptoSystem object using the specified parameters.
name - Specifies the parameters to use.
public KEACryptoSystem(byte[] p,
byte[] q,
byte[] g)
throws InvalidCryptoSystemException
KEACryptoSystem object with the specified p, q and g
domain parameters.
p - The p domain parameter.q - The q domain parameter.g - The g domain parameter.
InvalidCryptoSystemException - Thrown if any or all if the given parameters are invalid.
public KEACryptoSystem(byte[] p,
byte[] q,
byte[] g,
String name)
throws InvalidCryptoSystemException
KEACryptosystem object with the specified p, q and g
domain parameters.
p - The p domain parameter.q - The q domain parameter.g - The g domain parameter.name - A String that represents a desciption of the parameters, eg "SUN1024".InvalidCryptoSystemException - Thrown if any or all of the given parameters are invalid.| Method Detail |
public void verify()
throws InvalidCryptoSystemException,
CryptoTokenException,
CryptoUnsupportedOperationException
verifyCryptoSystemData method of the associated crypto
token is called.verify in interface CryptoSystemInvalidCryptoSystemException - Thrown if the crypto system
parameters are invalid.CryptoTokenException - Thrown if an error occurs with the crypto
token.CryptoUnsupportedOperationException - Thrown if a call is made to
an unsupported operation.public String getAlgorithm()
This method will always return the String "KEA".
getAlgorithm in interface CryptoSystem
public int getBitLength()
throws CryptoTokenException,
CryptoUnsupportedOperationException
CryptoSystemNote: the strength of a CryptoSystem is a combination of the algorithm and the bit length. For example, a 1024 bit RSA CryptoSystem is estimated to have the same cryptographic strength as 160 bit EC CryptoSystem.
getBitLength in interface CryptoSystem
public boolean isStrong()
throws CryptoTokenException,
CryptoUnsupportedOperationException
Note: Due to the nature of cryptography, things that are presently strong may be insecure in the future.
isStrong in interface CryptoSystempublic String getName() throws CryptoTokenException, CryptoUnsupportedOperationException
getName in interface CryptoSystemCryptoTokenException - Thrown if an error occurs with a crypto
token or the crypto token is invalid.CryptoUnsupportedOperationException - Thrown if a call is made to
an unsupported operation.
public byte[] getP()
throws CryptoTokenException,
CryptoUnsupportedOperationException
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.
public byte[] getQ()
throws CryptoTokenException,
CryptoUnsupportedOperationException
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.
public byte[] getG()
throws CryptoTokenException,
CryptoUnsupportedOperationException
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.
public int getPublicKeyLength()
throws CryptoTokenException,
CryptoUnsupportedOperationException
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.
public int getPrivateKeyLength()
throws CryptoTokenException,
CryptoUnsupportedOperationException
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.public int hashCode()
Objectjava.util.Hashtable.
The general contract of hashCode is:
hashCode method on each of
the two objects must produce the same integer result.
Object.equals(java.lang.Object)
method, then calling the hashCode method on each of the
two objects must produce distinct integer results. However, the
programmer should be aware that producing distinct integer results
for unequal objects may improve the performance of hashtables.
As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)
public boolean equals(Object obj)
Object
The equals method implements an equivalence relation:
x,
x.equals(x) should return true.
x and
y, x.equals(y) should return
true if and only if y.equals(x) returns
true.
x,
y, and z, if x.equals(y)
returns true and y.equals(z) returns
true, then x.equals(z) should return
true.
x
and y, multiple invocations of x.equals(y)
consistently return true or consistently return
false, provided no information used in
equals comparisons on the object is modified.
x,
x.equals(null) should return false.
The equals method for class Object implements
the most discriminating possible equivalence relation on objects;
that is, for any reference values x and y,
this method returns true if and only if x and
y refer to the same object (x==y has the
value true).
public KeyPair createKeyPair() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoSystemcreateKeyPair in interface CryptoSystempublic KEAKeyPair createKEAKeyPair() throws CryptoTokenException, CryptoUnsupportedOperationException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Copyright 1999-2004 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.