|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.rim.device.api.crypto.RSACryptoSystem
public final class RSACryptoSystem
RSACryptoSystem represents the system of asymmetric cryptography created by Rivest, Shamir and Adleman based on the Integer Factorization Problem.
A description of the RSA algorithm can be found in PKCS #1 version 2.1. We support this definition of RSA.
Constructor Summary | ||
---|---|---|
|
RSACryptoSystem()
Constructs an RSA system which uses keys of bit length 1024. |
|
|
RSACryptoSystem(int modulusBitLength)
Constructs an RSACryptoSystem object which uses keys of a given bit length. |
|
|
RSACryptoSystem(RSACryptoToken cryptoToken,
int modulusBitLength)
Constructs an RSACryptoSystem which uses keys of a given bit length. |
Method Summary | ||
---|---|---|
|
KeyPair |
createKeyPair()
Creates a new key pair using this crypto system. |
|
RSAKeyPair |
createRSAKeyPair()
|
|
RSAKeyPair |
createRSAKeyPair(byte[] e)
|
|
boolean |
equals(Object obj)
Indicates whether some other object is "equal to" this one. |
|
String |
getAlgorithm()
Returns a String that indicates the algorithm, ie "RSA". |
|
AsymmetricCryptoToken |
getAsymmetricCryptoToken()
Returns the crypto token used to create the crypto system. |
|
int |
getBitLength()
Returns the number of bits (aka the "strength") of the crypto system, eg 1024 (for RSA), 163 (for EC). |
|
int |
getModulusLength()
Returns the number of bytes that comprise the public modulus for the system. |
|
String |
getName()
Returns a String that indicates the name of the crypto system, ie "RSA1024". |
|
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 certain integrity checks on the crypto system parameters. |
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RSACryptoSystem() throws UnsupportedCryptoSystemException
UnsupportedCryptoSystemException
- Thrown if the specified crypto
system is invalid.public RSACryptoSystem(int modulusBitLength) throws UnsupportedCryptoSystemException
RSACryptoSystem
object which uses keys of a given bit length.
modulusBitLength
- The length of the key, or the number of bits,
when created under this system.
UnsupportedCryptoSystemException
- Thrown if the specified crypto
system is invalid.public RSACryptoSystem(RSACryptoToken cryptoToken, int modulusBitLength) throws CryptoTokenException, UnsupportedCryptoSystemException, CryptoUnsupportedOperationException
RSACryptoSystem
which uses keys of a given bit length.
cryptoToken
- The token associated with the crypto system.modulusBitLength
- The number of bits a key should be when created
under this system.
CryptoTokenException
- Thrown when an error occurs with a crypto
token or the crypto token is invalid.
UnsupportedCryptoSystemException
- Thrown when the specified
crypto system is invalid.
CryptoUnsupportedOperationException
- Thrown when a call is made to
an unsupported operation.Method Detail |
---|
public void verify() throws InvalidCryptoSystemException
CryptoSystem
These checks are useful to prevent certain types of attacks that involve modifying the parameters and then using a signed message to calculate the private key parameters.
verify
in interface CryptoSystem
InvalidCryptoSystemException
- Thrown if the specified cryptosystem
is invalid.public String getAlgorithm()
This method will always return the String "RSA".
getAlgorithm
in interface CryptoSystem
public String getName()
getName
in interface CryptoSystem
public AsymmetricCryptoToken getAsymmetricCryptoToken()
getAsymmetricCryptoToken
in interface CryptoSystem
RSACryptoToken
object.public int getBitLength()
CryptoSystem
Note: 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
CryptoSystem.isStrong()
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 CryptoSystem
CryptoTokenException
- Thrown when a problem occurs with a crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown when a call is made to
an unsupported operation.public int getModulusLength()
public int hashCode()
Object
java.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.)
hashCode
in class Object
Object.equals(java.lang.Object)
,
Hashtable
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
).
equals
in class Object
obj
- the reference object with which to compare.
true
if this object is the same as the obj
argument; false
otherwise.Boolean.hashCode()
,
Hashtable
public KeyPair createKeyPair() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoSystem
createKeyPair
in interface CryptoSystem
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 RSAKeyPair createRSAKeyPair() throws CryptoTokenException, CryptoUnsupportedOperationException
CryptoTokenException
CryptoUnsupportedOperationException
public RSAKeyPair createRSAKeyPair(byte[] e) throws InvalidKeyException, CryptoTokenException, CryptoUnsupportedOperationException
InvalidKeyException
CryptoTokenException
CryptoUnsupportedOperationException
|
|||||||||
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