

PREV PACKAGE NEXT PACKAGE  FRAMES NO FRAMES 
This page contains a tabular description with hyperlink to the members of the crypto API.
See:
Description
Interface Summary  

AsymmetricCryptoToken  Defines a crypto token for asymmetric key algorithms. 
BlockDecryptorEngine  The BlockDecryptorEngine interface describes the functionality of using a block cipher
for decryption. 
BlockDecryptorEngineExt  The BlockDecryptorEngineExt interface describes the functionality of using a block cipher
for decryption. 
BlockEncryptorEngine  The BlockEncryptorEngine interface describes the functionality of using a block cipher
for encryption. 
BlockEncryptorEngineExt  The BlockEncryptorEngineExt interface describes the functionality of using a block cipher
for encryption. 
BlockFormatterEngine  The BlockFormatterEngine interface formats input by inserting
padding into the data. 
BlockUnformatterEngine  The BlockUnFormatterEngine interface removes any formatting from
data. 
CryptoSystem  A CryptoSystem generically defines all cryptosystems (such as ECCryptoSystem, DSACryptoSystem, etc)
that are used in the Crypto API. 
CryptoToken  Defines a crypto token. 
CryptoTokenCipherContext  Defines the interface for the crypto token cipher context functionality. 
CryptoTokenCryptoSystemData  This is a marker interface used for type safety within the API. 
CryptoTokenMACContext  This is a marker interface used for type safety within the API. 
CryptoTokenMACKeyData  This is a marker interface used for type safety within the API. 
CryptoTokenPrivateKeyData  This is a marker interface used for type safety within the API. 
CryptoTokenPublicKeyData  This is a marker interface used for type safety within the API. 
CryptoTokenSymmetricKeyData  This is a marker interface used for type safety within the API. 
DHKey  Represents a key in a DiffieHellman (DH) system. 
DSAKey  Represents a key in a DSA system. 
Digest  Specifies the functionality common to all Digest algorithms. 
ECKey  Represents a key in an Elliptic Curve (EC) system. 
KEAKey  Represents a key in a Key Exchange Algorithm (KEA) system. 
Key  Represents a symmetric, public, or private key. 
MAC  MAC is an interface which represents the properties shared between all Message
Authentication Code algorithms. 
PrivateKey  PrivateKey represents the idea of a private key, which
is a key intended to be secret, and has an associated public key intended to be publically
disclosed. 
PrivateKeyDecryptorEngine  Provided for type safety. 
PseudoRandomSource  PseudoRandomSource is an interface that represents a pseudorandom number generator (PRNG). 
PublicKey  PublicKey is an interface which represents the idea of a public
key. 
PublicKeyEncryptorEngine  Provided for type safety. 
RSAKey  Represents a key in an RSA system. 
SignatureSigner  Defines the methods required for each signing class that provides a signature engine. 
SignatureVerifier  Defines the functions that are required for use with all of the signature verifiers that are implemented in the system. 
SymmetricCryptoToken  Defines a crypto token for symmetric key algorithms. 
SymmetricKey  SymmetricKey is an interface representing a key to be used in a symmetric key
cryptographyic system. 
SymmetricKeyDecryptorEngine  Provided for type safety. 
SymmetricKeyEncryptorEngine  Provided for type safety. 
Class Summary  

AESCBCDecryptorEngine  Creates an Advanced Encryption Standard (AES) decryption engine. 
AESCBCEncryptorEngine  Creates an Advanced Encryption Standard (AES) encryption engine. 
AESCTRDRBGPseudoRandomSource  An implementation of a Deterministic Random Bit Generator (DRBG) using an approved AES block cipher algorithm in counter mode. 
AESCryptoToken  Represents an Advanced Encryption System (AES) crypto token. 
AESDecryptorEngine  Creates an Advanced Encryption Standard (AES) decryption engine. 
AESEncryptorEngine  Creates an Advanced Encryption Standard (AES) encryption engine. 
AESKey  Creates an Advanced Encryption Standard (AES) key. 
ARC4Key  Creates an ARC4 key. 
ARC4PseudoRandomSource  Represents a pseudorandom number generator (PRNG) that uses the Alledged RC4 (ARC4) algorithm to expand a finite length seed into an arbitrarily long stream of pseudorandom bytes. 
AbstractDigest  Implements the helper methods of the Digest interface. 
AbstractMAC  Implements the helper methods of the MAC interface. 
AbstractPseudoRandomSource  Provides default helper implementations for PseudoRandomSource. 
BlockDecryptor  The superclass of all classes that implement block ciphers. 
BlockEncryptor  The superclass of all classes that implement block ciphers. 
CAST128CryptoToken  Represents a CAST128 crypto token. 
CAST128DecryptorEngine  Creates a CAST 128 decryption engine. 
CAST128EncryptorEngine  Creates a CAST 128 encryption engine. 
CAST128Key  Represents a CAST128 key. 
CBCDecryptorEngine  Provides the functionality of using CBC or Cipher Block Chaining mode for decryption. 
CBCEncryptorEngine  Provides the functionality of using CBC or Cipher Block Chaining mode for encryption. 
CBCMAC  CBCMAC is method of producing a Message Authentication Code (MAC) using a block cipher in cipherblockchaining (CBC) mode. 
CFBDecryptor  CFBDecryptor is the class used to iterate a given block cipher in 8 or 64bit Cipher Feedback (CFB) mode. 
CFBEncryptor  CFBEncryptor is the class used to iterate a given block cipher in 8 or 64bit Cipher Feedback (CFB) mode. 
CTRPseudoRandomSource  CTRPseudoRandomSource uses a symmetric key block cipher in Counter Mode to provide a sequence of pseudo random bytes. 
Crypto  This class provides a simple API for doing common cryptographic operations. 
CryptoByteArrayArithmetic  Modular arithmetic on large unsigned integers. 
CryptoInputStream  A CryptoInputStream contains some other input stream, which it
uses as its basic source of data, transforming the data along
the way or providing additional functionality. 
CryptoInteger  Represents large unsigned integer arithmetic class. 
CryptoOutputStream  The superclass of all classes that filter output streams. 
CryptoSmartCard  The CryptoSmartCard class should be extended by all cryptographic smart cards. 
CryptoSmartCardKeyStoreData  A container class used to store all of the key store information. 
CryptoSmartCardSession  The CryptoSmartCardSession class should be extended by all cryptographic smart cards. 
CryptoSmartCardUtilities  A utility class for accessing cryptographic smart cards. 
CryptoSmartCardUtilities2  A utility class for creating PrivateKey objects for private keys located on smart cards. 
CryptoSystemProperties  This class determines certain properties of a CryptoSystem. 
DESCryptoToken  Represents a DES crypto token. 
DESDecryptorEngine  The DESDecryptorEngine implements the decryption functionality
of the DES block cipher. 
DESEncryptorEngine  Implements the raw functionality of the DES algorithm. 
DESKey  Creates a DES key. 
DHCryptoSystem  Represents the system of asymmetric cryptography which is based on the Discrete Logarithm Problem. 
DHCryptoToken  An interface for DH cryptographic tokens to implement. 
DHKeyAgreement  Implements the DiffieHellman key agreement algorithm. 
DHKeyPair  Holds a DiffieHellman public and private key. 
DHPrivateKey  Represents a private key in an DiffieHellman system. 
DHPublicKey  Represents a public key in an DiffieHellman (DH) system. 
DSACryptoSystem  Represents the system of asymmetric cryptography which is based on the Discrete Logarithm Problem. 
DSACryptoToken  An interface for DSA cryptographic tokens to implement. 
DSAKeyPair  Holds a DSA public and private key. 
DSAPrivateKey  Represents a private key in a DSA system. 
DSAPublicKey  Represents a public key in an DSA system. 
DSASignatureSigner  Signs a message using the DSA signature scheme. 
DSASignatureVerifier  Verifies a DSA signature on a message. 
DecryptorFactory  Provides the user with a highlevel means to decrypt data. 
DecryptorInputStream  A place holder class that simply allows for better compile time type checking. 
DigestFactory  Creates a digest. 
DigestInputStream  Allows for a user to open an input stream and run a digest on all information that passes through that input stream. 
DigestOutputStream  Allows for a user to open an output stream and run a digest on all information that passes through that output stream. 
ECCryptoSystem  Represents the system of asymmetric cryptography based on the Elliptic Curve Discrete Logarithm Problem. 
ECCryptoToken  An interface for EC cryptographic tokens to implement. 
ECDHKeyAgreement  Implements the elliptic curve analog of the DiffieHellman algorithm. 
ECDSASignatureSigner  Signs messages using the Elliptic Curve analogue of the DSA signature scheme. 
ECDSASignatureVerifier  Verifies an ECDSA signature on a message. 
ECIESDecryptor  ECIESDecryptor is a class used to decrypt messages encoded with the Elliptic Curve Integrated Encryption Scheme ( ECIES ). 
ECIESEncryptor  ECIESEncryptor is a class used to encrypt messages with the Elliptic Curve Integrated Encryption Scheme ( ECIES ). 
ECKeyPair  Holds an Elliptic Curve public and private key. 
ECMQVKeyAgreement  Implements the key agreement scheme developed by Menezes, Qu, and Vanstone using elliptic curves (ECMQV). 
ECNRSignatureSigner  Signs messages using the Elliptic Curve NybergRueppel (ECNR) signature scheme. 
ECNRSignatureVerifier  Verifies an Elliptic Curve NybergRueppel (ECNR) signature on a message. 
ECPrivateKey  Represents a private key in an Elliptic Curve (EC) system. 
ECPublicKey  Represents a public key in an Elliptic Curve (EC) system. 
ElGamalDecryptorEngine  In order to decrypt with the ElGamal decryptor engine, two keys are required. 
ElGamalEncryptorEngine  In ElGamal encryption, two parts are generated and both are required to decrypt data. 
EncryptorFactory  Provides the user with a highlevel means to encrypt data. 
EncryptorOutputStream  Provides a certain level of type safety for instantiating classes. 
FIPS186PseudoRandomSource  Implements the pseudo random number generator as found in FIPS 1862. 
HMAC  HMAC is a Message Authentication Code algorithm based on a
Digest function. 
HMACCryptoToken  Implements the HMAC crypto token. 
HMACKey  Creates an HMAC key. 
InitializationVector  Represents an initialization vector (IV) for block cipher modes. 
InitializationVectorFactory  Contains the functionality for a high level approach to creating InitializationVectors. 
KEACryptoSystem  Represents the system of asymmetric cryptography which is based on the Discrete Logarithm Problem. 
KEACryptoToken  An interface for KEA cryptographic tokens to implement. 
KEAKeyAgreement  The KEAKeyAgreement class implements the key exchange algorithm (KEA). 
KEAKeyPair  The KEAKeyPair object holds a Key Exchange Algorithm (KEA) public and private key. 
KEAPrivateKey  Represents a private key in a Key Exchange Algorithm (KEA) system. 
KEAPublicKey  Represents a public key in a Key Exchange Algorithm (KEA) system. 
KeyPair  The KeyPair class generically defines all key pairs (such as ECKeyPair , DSAKeyPair , etc.) 
MACFactory  Creates a Message Authentication Code MAC using the specified parameters. 
MACInputStream  Provides streaming functionality with a MAC by allowing for read calls to an underlying input stream and passing this information through the MAC as it is being read. 
MACOutputStream  The MACOutputStream class provides streaming functionality with
a Message Authentication Code MAC
by allowing for write calls to an underlying output stream
and passing this information through the MAC as it is being
written. 
MD2Digest  The MD2Digest class implements the Message Digest 2 (MD2) hash algorithm. 
MD4Digest  The MD4Digest class implements the MD4 hashing algorithm. 
MD5Digest  The MD5Digest class implements the Message Digest 5 (MD5) hash algorithm. 
NullDecryptor  The NullDecryptor class provides no security. 
NullDigest  Allows for a user to provide a digest with no functionality to a function that requires a digest. 
NullEncryptor  The NULLEncryptor class does not encrypt or modify the data. 
NullMAC  The NullMAC class implements a trivial algorithm (as in none). 
NullSignatureSigner  The NullSignatureSigner class implements a trivial (ie no) signing algorithm. 
NullSignatureVerifier  The NullSignatureVerifier class implements a trivial (ie no) verification algorithm. 
OAEPFormatterEngine  Referenced from site http://www.rsa.com/. 
OAEPUnformatterEngine  Referenced from site http://www.rsa.com/. 
OFBPseudoRandomSource  OFBPseudoRandomSource uses a symmetric key block cipher in Output Feedback Mode to provide a sequence of pseudo random bytes. 
P1363KDF1PseudoRandomSource  The P1363KDF1PseudoRandomSource class implements the key derivation function 1 (KDF1) found
in the main section of P1363. 
PKCS1FormatterEngine  The PKCS1FormatterEngine class provides the PKCS1 encoding functionality on a block
by block basis. 
PKCS1MGF1PseudoRandomSource  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 pseudorandom bytes. 
PKCS1SignatureSigner  The PKCS1SignatureSigner object can sign messages using the RSA PKCS#1 signature scheme. 
PKCS1SignatureVerifier  The PKCS1SignatureVerifier class can verify an RSA PKCS#1 signature. 
PKCS1UnformatterEngine  Provides the PKCS1 decoding functionality on a block by block basis. 
PKCS5FormatterEngine  Provides the PKCS5 encoding functionality on a block by block basis. 
PKCS5KDF1PseudoRandomSource  Provides PKCS #5 Key Derivation Function 1 pseudo random number generation. 
PKCS5KDF2PseudoRandomSource  Provides PKCS #5 Key Derivation Function 2 pseudo random number generation. 
PKCS5UnformatterEngine  Provides the PKCS#5 padding scheme. 
PRNGDecryptor  The PRNGDecryptor is used in conjunction with a PseudoRandomSource to decrypt data provided to this class in a stream interface to the calling class. 
PRNGEncryptor  The PRNGEncryptor is used in conjunction with a PseudoRandomSource to encrypt data provided to this class in a stream interface to the calling class. 
PRNGTest  Performs tests to ensure that the pseudo random number generator (PRNG) is functioning correctly. 
PSSSignatureSigner  The PSSSignatureSigner class can sign messages using the RSA Signature
Scheme with Appendix  Probabilistic Signature Scheme RSA (PSS) signature PSS signature scheme. 
PSSSignatureVerifier  The PSSSignatureVerifier class can verify an RSA Signature
Scheme with Appendix  Probabilistic Signature Scheme RSA (PSS) signature. 
RC2CryptoToken  Implements the RC2 CryptoToken interface. 
RC2DecryptorEngine  The RC2DecryptorEngine class implements the decryption functionality
of the RC2 block cipher. 
RC2EncryptorEngine  The RC2EncryptorEngine implements the encryption functionality
of the RC2 block cipher. 
RC2Key  Creates an RC2 key. 
RC5CryptoToken  Represents an RC5 crypto token. 
RC5DecryptorEngine  The RC5DecryptorEngine class implements the decryption functionality
of the RC5 block cipher. 
RC5EncryptorEngine  The RC5EncryptorEngine class implements the encryption functionality
of the RC5 block cipher. 
RC5Key  Creates an RC5 key. 
RFC2631KDFPseudoRandomSource  Implements the key derivation function (KDF) found in RFC 2631, which is based upon the KDF in X9.42. 
RIPEMD128Digest  The RIPEMD128Digest class implements the RIPEMD128 algorithm. 
RIPEMD160Digest  The RIPEMD160Digest class implements the RIPEMD160 algorithm. 
RSACryptoSystem  RSACryptoSystem represents the system of asymmetric cryptography created by Rivest, Shamir and Adleman based on the Integer Factorization Problem. 
RSACryptoToken  A class for RSA cryptographic tokens to extend. 
RSADecryptorEngine  Provides the RSA decryption functionality on a block by block basis. 
RSAEncryptorEngine  Provides the RSA encryption functionality on a block by block basis. 
RSAKeyPair  The RSAKeyPair class holds an RSA public and private key. 
RSAPrivateKey  Represents a private key in an RSA system. 
RSAPublicKey  The RSAPublicKey class represents a public key in an RSA system. 
RandomSource  A random number generator that generates cryptographically random bytes. 
SHA1Digest  The SHA1Digest class implements the SHA1 algorithm. 
SHA224Digest  The SHA224Digest class implements the SHA224 algorithm. 
SHA256Digest  The SHA256Digest class implements the SHA256 algorithm. 
SHA384Digest  The SHA384Digest class implements the SHA384 algorithm. 
SHA512Digest  The SHA512Digest class implements the SHA512 algorithm. 
SPKMKDFPseudoRandomSource  Implements the key derivation function (KDF) found in RFC 2025. 
SignatureSignerFactory  Contains the functionality for a high level approach to signature signing. 
SignatureSignerOutputStream  Allows the user to create an output stream to write all of their data to and also have that data run through a signature signer class to sign the data. 
SignatureVerifierInputStream  Combines the use of a signature verifier with the use of streams. 
SkipjackCryptoToken  Represents a Skipjack crypto token. 
SkipjackDecryptorEngine  The SkipjackDecryptorEngine class implements the decryption functionality
of the Skipjack block cipher. 
SkipjackEncryptorEngine  The SkipjackEncryptorEngine implements the encryption functionality
of the Skipjack block cipher. 
SkipjackKey  Creates a SkipjackKey object. 
SmartCardDSACryptoToken  Deprecated. This class will be deprecated in release 4.2 and above, smart card tokens should extend DSACryptoToken directly instead of extending this class. 
SmartCardRSACryptoToken  Deprecated. This class will be deprecated in release 4.2 and above, smart card tokens should extend RSACryptoToken directly instead of extending this class. 
StreamDecryptor  StreamDecryptor is an abstract class which contains functionality
common to all stream decryptors. 
StreamEncryptor  StreamEncryptor is an abstract class which contains functionality
common to all stream ciphers. 
SymmetricKeyFactory  Contains the functionality for a high level approach to creating symmetric keys. 
TripleDESCBCDecryptorEngine  Implements the raw functionality of the TripleDES algorithm. 
TripleDESCBCEncryptorEngine  Implements the raw functionality of the TripleDES algorithm. 
TripleDESCryptoToken  Represents a Triple DES crypto token. 
TripleDESDecryptorEngine  Implements the raw functionality of the TripleDES algorithm. 
TripleDESEncryptorEngine  Implements the raw functionality of the TripleDES algorithm. 
TripleDESKey  Creates a TripleDESKey object. 
X931SignatureSigner  Represents an X931 Signature signer. 
X931SignatureVerifier  Represents the X931 signature verifier. 
X942KDFPseudoRandomSource  Implements the key derivation function (KDF) found in ANSI X9.42. 
X963KDFPseudoRandomSource  Implements the key derivation function (KDF) found in ANSI X9.63. 
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. 
XEncryptorEngine  The XEncryptorEngine class efficiently extends the key space of a block cipher, by whitening (ie xor'ing) random secret data before
and after the cipher executes. 
Exception Summary  

BadPaddingException  The exception class thrown when there is a problem unpadding some data that has been padded. 
CryptoException  An exception representing an error that occured during a cryptographic operation. 
CryptoIOException  An exception representing an error that occured during a cryptographic operation. 
CryptoTokenAccessDeniedException  Occurs when a user without the proper credentials attempts to access a secure crypto token. 
CryptoTokenCancelException  Thrown when the user cancels the crypto token operation. 
CryptoTokenCommunicationException  Thrown when an error occurs while communicating with a crypto token. 
CryptoTokenException  Thrown when an error occurs with the token (eg smartcard) associated with the cryptographic operation. 
CryptoTokenNotPresentException  Thrown when the crypto token is not present. 
CryptoTokenTimeoutException  Thrown if a crypto token operation encounters a time out. 
CryptoUnsupportedOperationException  Thrown when the requested cryptographic operation is not supported. 
DecodeException  Raised when an improperly formated message is encountered. 
ECPointAtInfinityException  Thrown an elliptic curve operation resulted in the point at infinity. 
InvalidCryptoSystemException  Thrown when a crypto system is improperly formatted. 
InvalidKeyEncodingException  Thrown when an improperly formatted key is operated on. 
InvalidKeyException  Thrown when a key is improperly formatted. 
InvalidKeyPairException  Raised when a key pair is improperly formatted. 
InvalidSignatureEncodingException  Thrown when a signature is improperly formatted. 
MessageTooLongException  Thrown when the message passed in is too long for the function performing the operation on the message. 
NoSuchAlgorithmException  An exception representing an error that occurred because the requested algorithm could not be found. 
UnrecoverableKeyException  An exception representing an error that occured while attempting to recover a key from the key store with invalid parameters. 
UnsupportedCryptoSystemException  An exception representing an error that occured during a cryptographic operation. 
VerificationException  An exception representing an error that occurred because the requested algorithm could not be found. 
Error Summary  

CryptoSelfTestError  Occurs when an error is discovered in a the crypto primitive during self tests. 
This page contains a tabular description with hyperlink to the members of the crypto API. This is the default javadoc format.
Note: To return to the startpage and tutorial, click here.
For more information on cryptography
Two good books on the subject are:
For more information on cryptographic algorithms, see Crypto
Algorithms.
Feedback
Your input is important to us. Please send your feedback to Crypto SDK feedback.


PREV PACKAGE NEXT PACKAGE  FRAMES NO FRAMES 
Copyright 19992011 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