Secure Malloc is a C library for secure memory allocations. When dealing with cryptography, it is important to be able to store keys in secure memory. This library provides functions that can be used in place of the traditional malloc(), realloc(), and free(), but locks the memory into RAM so it cannot be swapped out to disk.
A reasonable way to achieve a long term backup of OpenPGP (GnuPG, PGP, etc) keys is to print them out on paper. Due to metadata and redundancy, OpenPGP secret keys are significantly larger than just the "secret bits". In fact, the secret key contains a complete copy of the public key. Since the public key generally doesn't need to be backed up in this way (most people have many copies of it on various keyservers, Web pages, etc), only extracting the secret parts can be a real advantage. Paperkey extracts just those secret bytes and prints them. To reconstruct, you re-enter those bytes (whether by hand or via OCR), and paperkey can use them to transform your existing public key into a secret key.