summaryrefslogtreecommitdiff
path: root/doc/cha-crypto.texi
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2012-11-17 16:49:15 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2012-11-17 16:51:57 +0100
commit96c38a6c89fe0b6f7d826c3588479ec861811054 (patch)
tree47aa0a80a2f8ed33946e590f46360a5ccfd1bf62 /doc/cha-crypto.texi
parentf8a0214756de685fe7c7cae31be9335531812d6a (diff)
downloadgnutls-96c38a6c89fe0b6f7d826c3588479ec861811054.tar.gz
doc updates
Diffstat (limited to 'doc/cha-crypto.texi')
-rw-r--r--doc/cha-crypto.texi54
1 files changed, 54 insertions, 0 deletions
diff --git a/doc/cha-crypto.texi b/doc/cha-crypto.texi
new file mode 100644
index 0000000000..956ca2229f
--- /dev/null
+++ b/doc/cha-crypto.texi
@@ -0,0 +1,54 @@
+@node Using GnuTLS as a cryptographic library
+@chapter Using GnuTLS as a cryptographic library
+
+@acronym{GnuTLS} is not a low-level cryptographic library, i.e.,
+it does not provide access to basic cryptographic primitives. However
+it abstracts the internal cryptographic back-end (see @ref{Cryptographic Backend}),
+providing symmetric crypto, hash and HMAC algorithms, as well access
+to the random number generation.
+
+@menu
+* Symmetric cryptography::
+* Hash and HMAC functions::
+* Random number generation::
+@end menu
+
+@node Symmetric cryptography
+@section Symmetric cryptography
+@cindex symmetric cryptography
+
+The available functions to access symmetric crypto algorithms operations
+are shown below. The supported algorithms are the algorithms required by the TLS protocol.
+They are listed in @ref{tab:ciphers}.
+
+@showfuncE{gnutls_cipher_init,gnutls_cipher_encrypt2,gnutls_cipher_decrypt2,gnutls_cipher_set_iv,gnutls_cipher_deinit}
+
+In order to support authenticated encryption with associated data (AEAD) algorithms the following
+functions are provided to set the associated data and retrieve the authentication tag.
+
+@showfuncB{gnutls_cipher_add_auth,gnutls_cipher_tag}
+
+@node Hash and HMAC functions
+@section Hash and HMAC functions
+@cindex hash functions
+@cindex HMAC functions
+
+The available operations to access hash functions and hash-MAC (HMAC) algorithms
+are shown below. HMAC algorithms provided keyed hash functionality. They supported HMAC algorithms are listed in @ref{tab:macs}.
+
+@showfuncF{gnutls_hmac_init,gnutls_hmac,gnutls_hmac_output,gnutls_hmac_deinit,gnutls_hmac_get_len,gnutls_hmac_fast}
+
+The available functions to access hash functions are shown below. The supported hash functions
+are the same as the HMAC algorithms.
+
+@showfuncF{gnutls_hash_init,gnutls_hash,gnutls_hash_output,gnutls_hash_deinit,gnutls_hash_get_len,gnutls_hash_fast}
+
+@node Random number generation
+@section Random number generation
+@cindex random numbers
+
+Access to the random number generator is provided using the @funcref{gnutls_rnd}
+function. It allows obtaining random data of various levels.
+
+@showenumdesc{gnutls_rnd_level_t,The random number levels.}
+@showfuncdesc{gnutls_rnd}