Next Previous Contents

3. The Crypto API

The Crypto API is an approach to unify the interface between kernel modules using crypto routines (such as the loop_gen driver or CIPE (eventually?)) and kernel modules providing crypto routines (such as cipher or hash modules).

It shows up as the ``Crypto Options'' menu in make menuconfig. At the time of this writing (Aug 1999), only the crypto loop device driver (CONFIG_BLK_DEV_LOOP_GEN) uses this facility and not all ciphers contained in the international kernel have been integrated into the Crypto Library. It is obviously desirable that all kernel modules using strong encryption use the Crypto API (where applicable).

To this end, this HOWTO will eventually include a discussion on the ``API of the Crypto API'', so developers trying to use this library are no longer forced to read the source to find the appropriate functions.

Developers who want to earn their merits will find here a great opportunity to play. Help to implement new ciphers and hashes and put them under the GPL. Help to convert existing ciphers already contained in the international kernel to use the crypto API. Help to enhance the performance of ciphers by implementing them in native assembler code for different platforms! You don't need to be a kernel hacker to support this project, as the modules involved are rather small and similar to each other.

But please understand that the project cannot accept patches that were written by people being a citizen of or living (temporarily or permanently) in the US, or any country that employs export restrictions on strong cryptography.

Late International Kernel Patches (from 2.2.12.2 on) extend the concept of the Crypto API from plain cipher modules to digest (i.e. cryptographic hash) modules. Currently only MD5 is supported, which was contributed by Alan Smithee.


Next Previous Contents