Installation guide
BlackBerry Enterprise Solution 68
Appendix A: RIM Crypto API Interface
The RIM Crypto API on the BlackBerry device and in the BlackBerry JDE provides developers with a toolkit of
cryptographic algorithms and support tools that they can use to create secure applications for business
connectivity. RIM uses code signing to authorize running secure applications on the BlackBerry device and to
control third-party application access to the RIM Crypto API.
The RIM Crypto API consists of a Java interface and algorithms for the following components:
• schemes for encryption, key agreements, and signatures
• a key generation protocol
• code for message authentication, message digests, and hashes
Developers can use the JDE Java interface to access the RIM Crypto API encryption algorithms and other code to
create simple solutions. Developers do not need to modify or directly access the encryption code because all
calls to the native C++ encryption code are routed through the JDE Java code.
Cryptographic functionality that the RIM Crypto API provides
Symmetric block algorithms
Algorithm (uses PKCS #5 for
padding)
Key length (bits) Modes (implemented separately from the
block encryption algorithms)
AES 128, 192, and 256 ECB, CBC, CFB, OFB, X
DES 56 ECB, CBC, CFB, OFB, X
RC2 8 to 1024 ECB, CBC, CFB, OFB, X
RC5 0 to 2040 ECB, CBC, CFB, OFB, X
Skipjack 80 ECB, CBC, CFB, OFB, X
Triple DES 112 and 168 ECB, CBC, CFB, OFB, X
CAST5-128 128 ECB, CBC, CFB, OFB, X
Symmetric stream encryption algorithms
Algorithm Key length (bits)
ARC4 unlimited
Asymmetric stream encryption algorithms
Algorithm Key length (bits)
ECIES unlimited (160 to 571 for seeding)
Asymmetric encryption algorithms
Algorithm Key length (bits) Type
RSA raw 512 to 4096 integer factorization
RSA with PKCS #1 formatting (version 1.5 and 2.0) 512 to 4096 integer factorization
RSA with OAEP formatting 512 to 4096 integer factorization
El Gamal 512 to 4096 discrete logarithm
www.blackberry.com