summaryrefslogtreecommitdiff
path: root/Documentation/crypto/libcrypto-hash.rst
blob: fa4c54236af6e5aa7f7de06739f49f6e20b9570a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
.. SPDX-License-Identifier: GPL-2.0-or-later

Hash functions, MACs, and XOFs
==============================

AES-CMAC and AES-XCBC-MAC
-------------------------

This API provides support for the AES-CMAC and AES-XCBC-MAC message
authentication codes.

.. kernel-doc:: include/crypto/aes-cbc-macs.h

BLAKE2b
-------

This API provides support for the BLAKE2b cryptographic hash function.

.. kernel-doc:: include/crypto/blake2b.h

BLAKE2s
-------

This API provides support for the BLAKE2s cryptographic hash function.

.. kernel-doc:: include/crypto/blake2s.h

GHASH and POLYVAL
-----------------

This API provides support for the GHASH and POLYVAL universal hash functions.
These algorithms are used only as internal components of other algorithms.

.. kernel-doc:: include/crypto/gf128hash.h

MD5
---

This API provides support for the MD5 cryptographic hash function and HMAC-MD5.
This algorithm is obsolete and is supported only for backwards compatibility.

.. kernel-doc:: include/crypto/md5.h

NH
--

This API provides support for the NH universal hash function.  This algorithm is
used only as an internal component of other algorithms.

.. kernel-doc:: include/crypto/nh.h

Poly1305
--------

This API provides support for the Poly1305 universal hash function.  This
algorithm is used only as an internal component of other algorithms.

.. kernel-doc:: include/crypto/poly1305.h

SHA-1
-----

This API provides support for the SHA-1 cryptographic hash function and
HMAC-SHA1.  This algorithm is obsolete and is supported only for backwards
compatibility.

.. kernel-doc:: include/crypto/sha1.h

SHA-2
-----

This API provides support for the SHA-2 family of cryptographic hash functions,
including SHA-224, SHA-256, SHA-384, and SHA-512.  This also includes their
corresponding HMACs: HMAC-SHA224, HMAC-SHA256, HMAC-SHA384, and HMAC-SHA512.

.. kernel-doc:: include/crypto/sha2.h

SHA-3
-----

The SHA-3 API is documented in :ref:`sha3`.

SM3
---

This API provides support for the SM3 cryptographic hash function.

.. kernel-doc:: include/crypto/sm3.h