-*- text -*- The International Kernel Patch ============================== (aka Linux Kernel CryptoAPI) What is the International Kernel Patch? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Due to previous regulations on export and use of crypto, especially in the US, the Linux source distribution has not contained crypto up to this point. The International Kernel Patch has tried to remedy this situation by providing the missing functionality in the form of a unified patch to the Linux kernel source. Lately, some US export restrictions have been lifted, and it is therefore possible that crypto will be part of the linux kernel source code in the future. However, until that happens, this is where you can get crypto support in your linux kernel. The International Kernel Patch is not endorsed by Linus Torvalds and should therefore not be considered to be part of the official Linux kernel source. What is the Linux Kernel CryptoAPI? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Linux Kernel CryptoAPI provide a framework of ciphers and digests that can be used to encrypt and decrypt data inside kernel space. The API is a non-intrusive patch in that it does not modify any of the existing kernel source code. It can be compiled into the kernel or loaded as a kernel module for dynamic loading and unloading during runtime. On a high level the CryptoAPI distribution includes the following: - an interface for accessing different kinds of cryptographic functions - a set of well known cipher and digest functions - hooks to use CryptoAPI for filesystem encryption - a set of different block modes for each cipher What is the CryptoAPI good for ? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you need to have any secure computing enviornment which requires encryption in kernel space. A common use for this is filesystem level encryption(patch included), which allows partitions or files mounted as filesystems to be encrypted on the device level. Thus, anyone who attempts to access the information on the drive without the proper encryption key and algorithm will see random looking garbage. Some other possible uses of theCryptoAPI are encrypting network traffic and swap space. For examples of how to use the structures and functions in the CryptoAPI see <./cryptoapi.txt> and for information on filesystem encryption see <./cryptoloop.txt>. -- $Id: README,v 1.2 2002/04/11 17:26:40 mutex_ Exp $