Author: Herbert Xu <[EMAIL PROTECTED]>
AuthorDate: Thu Nov 15 19:00:06 2007 +0800
Committer: Herbert Xu <[EMAIL PROTECTED]>
CommitDate: Fri Jan 11 08:16:14 2008 +1100
[CRYPTO] doc: Update api-intro.txt
This patch updates the list of transforms we support and clarifies that
the Block Ciphers interface in fact supports all ciphers including stream
It also removes the obsolete Configuration Notes section and adds the
linux-crypto mailing list as the primary bug reporting address.
Finally it documents the fact that setkey should only be called from
Signed-off-by: Herbert Xu <[EMAIL PROTECTED]>
Documentation/crypto/api-intro.txt | 41 ++++++++++++++----------------------
1 files changed, 16 insertions(+), 25 deletions(-)
diff --git a/Documentation/crypto/api-intro.txt
index a2ac6d2..8b49302 100644
@@ -33,9 +33,16 @@ The idea is to make the user interface and algorithm
very simple, while hiding the core logic from both. Many good ideas
from existing APIs such as Cryptoapi and Nettle have been adapted for this.
-The API currently supports three types of transforms: Ciphers, Digests and
-Compressors. The compression algorithms especially seem to be performing
-very well so far.
+The API currently supports five main types of transforms: AEAD (Authenticated
+Encryption with Associated Data), Block Ciphers, Ciphers, Compressors and
+Please note that Block Ciphers is somewhat of a misnomer. It is in fact
+meant to support all ciphers including stream ciphers. The difference
+between Block Ciphers and Ciphers is that the latter operates on exactly
+one block while the former can operate on an arbitrary amount of data,
+subject to block size requirements (i.e., non-stream ciphers can only
+process multiples of blocks).
Support for hardware crypto devices via an asynchronous interface is
@@ -69,29 +76,12 @@ Here's an example of how to use the API:
Many real examples are available in the regression test module (tcrypt.c).
-As Triple DES is part of the DES module, for those using modular builds,
-add the following line to /etc/modprobe.conf:
- alias des3_ede des
-The Null algorithms reside in the crypto_null module, so these lines
-should also be added:
- alias cipher_null crypto_null
- alias digest_null crypto_null
- alias compress_null crypto_null
-The SHA384 algorithm shares code within the SHA512 module, so you'll
- alias sha384 sha512
Transforms may only be allocated in user context, and cryptographic
-methods may only be called from softirq and user contexts.
+methods may only be called from softirq and user contexts. For
+transforms with a setkey method it too should only be called from
When using the API for ciphers, performance will be optimal if each
scatterlist contains data which is a multiple of the cipher's block
@@ -130,8 +120,9 @@ might already be working on.
Send bug reports to:
-Herbert Xu <[EMAIL PROTECTED]>
-Cc: David S. Miller <[EMAIL PROTECTED]>
+Cc: Herbert Xu <[EMAIL PROTECTED]>,
+ David S. Miller <[EMAIL PROTECTED]>
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html