
BlackBerry Enterprise Solution
69
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