Commit 86f578de5ba6ea11ead9284d9f036fee01ba5893

Authored by Herbert Xu
1 parent 468577abe3

[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
ciphers.

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
user context.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

Showing 1 changed file with 16 additions and 25 deletions Side-by-side Diff

Documentation/crypto/api-intro.txt
... ... @@ -33,10 +33,17 @@
33 33 very simple, while hiding the core logic from both. Many good ideas
34 34 from existing APIs such as Cryptoapi and Nettle have been adapted for this.
35 35  
36   -The API currently supports three types of transforms: Ciphers, Digests and
37   -Compressors. The compression algorithms especially seem to be performing
38   -very well so far.
  36 +The API currently supports five main types of transforms: AEAD (Authenticated
  37 +Encryption with Associated Data), Block Ciphers, Ciphers, Compressors and
  38 +Hashes.
39 39  
  40 +Please note that Block Ciphers is somewhat of a misnomer. It is in fact
  41 +meant to support all ciphers including stream ciphers. The difference
  42 +between Block Ciphers and Ciphers is that the latter operates on exactly
  43 +one block while the former can operate on an arbitrary amount of data,
  44 +subject to block size requirements (i.e., non-stream ciphers can only
  45 +process multiples of blocks).
  46 +
40 47 Support for hardware crypto devices via an asynchronous interface is
41 48 under development.
42 49  
43 50  
... ... @@ -69,29 +76,12 @@
69 76 Many real examples are available in the regression test module (tcrypt.c).
70 77  
71 78  
72   -CONFIGURATION NOTES
73   -
74   -As Triple DES is part of the DES module, for those using modular builds,
75   -add the following line to /etc/modprobe.conf:
76   -
77   - alias des3_ede des
78   -
79   -The Null algorithms reside in the crypto_null module, so these lines
80   -should also be added:
81   -
82   - alias cipher_null crypto_null
83   - alias digest_null crypto_null
84   - alias compress_null crypto_null
85   -
86   -The SHA384 algorithm shares code within the SHA512 module, so you'll
87   -also need:
88   - alias sha384 sha512
89   -
90   -
91 79 DEVELOPER NOTES
92 80  
93 81 Transforms may only be allocated in user context, and cryptographic
94   -methods may only be called from softirq and user contexts.
  82 +methods may only be called from softirq and user contexts. For
  83 +transforms with a setkey method it too should only be called from
  84 +user context.
95 85  
96 86 When using the API for ciphers, performance will be optimal if each
97 87 scatterlist contains data which is a multiple of the cipher's block
... ... @@ -130,8 +120,9 @@
130 120 BUGS
131 121  
132 122 Send bug reports to:
133   -Herbert Xu <herbert@gondor.apana.org.au>
134   -Cc: David S. Miller <davem@redhat.com>
  123 +linux-crypto@vger.kernel.org
  124 +Cc: Herbert Xu <herbert@gondor.apana.org.au>,
  125 + David S. Miller <davem@redhat.com>
135 126  
136 127  
137 128 FURTHER INFORMATION