Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]


Cryptography overview

Note: The strong cryptography API guide is not publically available.

[Top]


Purpose

Cryptography is the basis of the Symbian OS Security system. It is used by many components, including: Certman (Certificate Management), Software Installation, Secure Communication Protocols (e.g., SSL, TLS, IPSEC), and WTLS.

Before Symbian OS v9.5, cryptographic algorithms, hash algorithms and random number generation were implemented by Symbian (in cryptography.dll, hash.dll and random.dll). In v9.5 a framework called CryptoSPI (cryptospi.dll) was introduced, which allows alternative implementations to be added by Symbian OS licensees, as plugin DLLs. Symbian's legacy implementations and APIs were retained, so that existing code does not need to be modified or recompiled.

CryptoSPI dependencies


CryptoSPI dependencies

The guide to CryptoSPI is not publically available, but the following documents show how to use CryptoSPI to generate random numbers and create a hash:

[Top]


Description


Cryptographic algorithms

These algorithms allow data to be encrypted and decrypted, they include:

Until v9.5, the classes implementing the symmetric and asymmetric ciphers were provided in cryptography.dll.


Hash algorithms

Hash algorithms compact a message down to a short series of bytes from which it is impossible to regenerate the message. They are used with an asymmetric cipher to generate signatures.

Until v9.5, the classes implementing the hash algorithms were provided in hash.dll.


Random Number Generator (RNG)

RNG is the basis for the cryptographic key generation, it uses the RANROT algorithm seeded by random data available on the target hardware (e.g. free running counters available on ARM processers).

Until v9.5, the random number library was provided by random.dll.


Supporting APIs