In Symbian OS, encryption and decryption of information is not part of the operating system by default. A cryptography module (available separately from Symbian) allows flexible implementation of cryptographic features (for example, cryptography algorithms, hash key, and random number generation). There are two fundamental types of cipher: secret (symmetric) key and public (asymmetric) key. The main principle of symmetric ciphering is presented in the figure below.
In asymmetric ciphering there is a key pair instead of a secret key; a public key is used to encrypt the data and a private key to decrypt it. The public key can be delivered by insecure means, for example in an unencrypted e-mail, because only the owner of the private key can decrypt data encrypted with the public half of the key. It is also possible to sign data with a private key, which can then be verified with a public key.
Symbian OS provides a cryptography module containing the following components:
Cryptography algorithms that allow data to be encrypted and decrypted with the following symmetric ciphers: DES, 3DES, RC2, RC4, and RC5, and asymmetric ciphers: RSA, DSA, and DH
Hash functions: MD5, SHA1, and HMAC
A pseudo-random number generator for generating cryptographic keys
These are not intended for direct use, but rather are used by other security modules like certificate management. Because of possible export restrictions, details of the cryptography library are only available on request from Symbian.
The Symbian OS cryptographic token framework enables licensees to integrate flexible support for removable hardware devices, such as wireless identity modules (WIMs). Existing cryptographic interfaces and their attributes can be queried, and new interfaces can be implemented and imported to the framework.
For differences in cryptography libraries and APIs between Symbian OS versions, consult Symbian OS Migration Guides. For more information about the Cryptography API, see the Cryptography API guide in the Symbian OS Library.
Note: The cryptography module is not a part of the S60 SDK. It is only available separately via Symbian.