This library exposes security functionality to the programmer, such as random number generation, hashing, salted hashing, message authentication code, symmetric encryption, asymmetric encryption, hybrid encryption, digital signature and in-memory protection. The library is accompanied by a sophisticated reference implementation, that demonstrates how to make use of the CryptoLibrary.