summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorStephan Mueller <smueller@chronox.de>2016-10-21 04:58:20 +0200
committerJonathan Corbet <corbet@lwn.net>2016-12-13 16:38:06 -0700
commit8d23da22ac33be784451fb005cde300c09cdb19d (patch)
treeab2c7d35e7020be5e88a740760a205d057d9ab91 /Documentation
parentc30c98d174e5ecbb5d70c7c92846d4d884f8b38a (diff)
crypto: doc - add KPP documentation
Add the KPP API documentation to the kernel crypto API Sphinx documentation. This addition includes the documentation of the ECDH and DH helpers which are needed to create the approrpiate input data for the crypto_kpp_set_secret function. Signed-off-by: Stephan Mueller <smueller@chronox.de> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/crypto/api-kpp.rst92
-rw-r--r--Documentation/crypto/api.rst1
-rw-r--r--Documentation/crypto/architecture.rst6
3 files changed, 99 insertions, 0 deletions
diff --git a/Documentation/crypto/api-kpp.rst b/Documentation/crypto/api-kpp.rst
new file mode 100644
index 000000000000..d87be9224f49
--- /dev/null
+++ b/Documentation/crypto/api-kpp.rst
@@ -0,0 +1,92 @@
+Key-agreement Protocol Primitives (KPP) Cipher Algorithm Definitions
+--------------------------------------------------------------------
+
+.. kernel-doc:: include/crypto/kpp.h
+ :functions: kpp_request
+
+.. kernel-doc:: include/crypto/kpp.h
+ :functions: crypto_kpp
+
+.. kernel-doc:: include/crypto/kpp.h
+ :functions: kpp_alg
+
+.. kernel-doc:: include/crypto/kpp.h
+ :functions: kpp_secret
+
+Key-agreement Protocol Primitives (KPP) Cipher API
+--------------------------------------------------
+
+.. kernel-doc:: include/crypto/kpp.h
+ :doc: Generic Key-agreement Protocol Primitives API
+
+.. kernel-doc:: include/crypto/kpp.h
+ :functions: crypto_alloc_kpp
+
+.. kernel-doc:: include/crypto/kpp.h
+ :functions: crypto_free_kpp
+
+.. kernel-doc:: include/crypto/kpp.h
+ :functions: crypto_kpp_set_secret
+
+.. kernel-doc:: include/crypto/kpp.h
+ :functions: crypto_kpp_generate_public_key
+
+.. kernel-doc:: include/crypto/kpp.h
+ :functions: crypto_kpp_compute_shared_secret
+
+.. kernel-doc:: include/crypto/kpp.h
+ :functions: crypto_kpp_maxsize
+
+Key-agreement Protocol Primitives (KPP) Cipher Request Handle
+-------------------------------------------------------------
+
+.. kernel-doc:: include/crypto/kpp.h
+ :functions: kpp_request_alloc
+
+.. kernel-doc:: include/crypto/kpp.h
+ :functions: kpp_request_free
+
+.. kernel-doc:: include/crypto/kpp.h
+ :functions: kpp_request_set_callback
+
+.. kernel-doc:: include/crypto/kpp.h
+ :functions: kpp_request_set_input
+
+.. kernel-doc:: include/crypto/kpp.h
+ :functions: kpp_request_set_output
+
+ECDH Helper Functions
+---------------------
+
+.. kernel-doc:: include/crypto/ecdh.h
+ :doc: ECDH Helper Functions
+
+.. kernel-doc:: include/crypto/ecdh.h
+ :functions: ecdh
+
+.. kernel-doc:: include/crypto/ecdh.h
+ :functions: crypto_ecdh_key_len
+
+.. kernel-doc:: include/crypto/ecdh.h
+ :functions: crypto_ecdh_encode_key
+
+.. kernel-doc:: include/crypto/ecdh.h
+ :functions: crypto_ecdh_decode_key
+
+DH Helper Functions
+-------------------
+
+.. kernel-doc:: include/crypto/dh.h
+ :doc: DH Helper Functions
+
+.. kernel-doc:: include/crypto/dh.h
+ :functions: dh
+
+.. kernel-doc:: include/crypto/dh.h
+ :functions: crypto_dh_key_len
+
+.. kernel-doc:: include/crypto/dh.h
+ :functions: crypto_dh_encode_key
+
+.. kernel-doc:: include/crypto/dh.h
+ :functions: crypto_dh_decode_key
diff --git a/Documentation/crypto/api.rst b/Documentation/crypto/api.rst
index f2bbeb0fe9aa..2e519193ab4a 100644
--- a/Documentation/crypto/api.rst
+++ b/Documentation/crypto/api.rst
@@ -22,3 +22,4 @@ the IV. Different IV generators are available.
api-digest
api-rng
api-akcipher
+ api-kpp
diff --git a/Documentation/crypto/architecture.rst b/Documentation/crypto/architecture.rst
index 34e396bbc6e6..ca2d09b991f5 100644
--- a/Documentation/crypto/architecture.rst
+++ b/Documentation/crypto/architecture.rst
@@ -161,6 +161,9 @@ applicable to a cipher, it is not displayed:
entry below for the specification of the IV generator type used by
the cipher implementation)
+ - kpp for a Key-agreement Protocol Primitive (KPP) cipher such as
+ an ECDH or DH implementation
+
- blocksize: blocksize of cipher in bytes
- keysize: key size in bytes
@@ -219,6 +222,9 @@ the aforementioned cipher types:
together with an IV generator (see geniv field in the /proc/crypto
listing for the known IV generators)
+- CRYPTO_ALG_TYPE_KPP Key-agreement Protocol Primitive (KPP) such as
+ an ECDH or DH implementation
+
- CRYPTO_ALG_TYPE_DIGEST Raw message digest
- CRYPTO_ALG_TYPE_HASH Alias for CRYPTO_ALG_TYPE_DIGEST