aboutsummaryrefslogtreecommitdiffstats
path: root/libsha2_hmac_init.3
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2019-02-10 17:54:09 +0100
committerMattias Andrée <maandree@kth.se>2019-02-10 17:54:09 +0100
commit6e3af681aa5927d2ab2861e94c0cfea6fa42c0ab (patch)
treedc14cf6beeab03da867e7946bd6ab3601a66d370 /libsha2_hmac_init.3
parentlibsha2.h.0: securely erasing the state (diff)
downloadlibsha2-6e3af681aa5927d2ab2861e94c0cfea6fa42c0ab.tar.gz
libsha2-6e3af681aa5927d2ab2861e94c0cfea6fa42c0ab.tar.bz2
libsha2-6e3af681aa5927d2ab2861e94c0cfea6fa42c0ab.tar.xz
Minor improvement and man pages for HMAC
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'libsha2_hmac_init.3')
-rw-r--r--libsha2_hmac_init.370
1 files changed, 70 insertions, 0 deletions
diff --git a/libsha2_hmac_init.3 b/libsha2_hmac_init.3
new file mode 100644
index 0000000..e26bbe5
--- /dev/null
+++ b/libsha2_hmac_init.3
@@ -0,0 +1,70 @@
+.TH LIBSHA2_HMAC_INIT 3 2019-02-10 libjson
+.SH NAME
+libsha2_hmac_init \- Initialises hashing with an HMAC-SHA 2 algorithm
+.SH SYNOPSIS
+.nf
+#include <libsha2.h>
+
+enum libsha2_algorithm {
+ LIBSHA2_224, /* SHA-224 */
+ LIBSHA2_256, /* SHA-256 */
+ LIBSHA2_384, /* SHA-384 */
+ LIBSHA2_512, /* SHA-512 */
+ LIBSHA2_512_224, /* SHA-512/224 */
+ LIBSHA2_512_256 /* SHA-512/256 */
+};
+
+int libsha2_hmac_init(struct libsha2_hmac_state *restrict \fIstate\fP, enum libsha2_algorithm \fIalgorithm\fP,
+ const void *restrict \fIkey\fP, size_t \fIkeylen\fP);
+.fi
+.PP
+Link with
+.IR \-lsha2 .
+.SH DESCRIPTION
+The
+.BR libsha2_hmac_init ()
+function stores the selected
+.I algorithm
+in
+.I state
+and initialises
+.I state
+with the first
+.I keylen
+bits of
+.I key
+as the key.
+.SH RETURN VALUE
+The
+.BR libsha2_hmac_init ()
+function returns 0 upon successful completion,
+otherwise -1 is returned and
+.I errno
+is set appropriately.
+.SH ERRORS
+The
+.BR libsha2_hmac_init ()
+function will fail if:
+.TP
+.B EINVAL
+.I algorithm
+is not a valid
+.B enum libsha2_algorithm
+value.
+.SH EXAMPLES
+None.
+.SH APPLICATION USAGE
+None.
+.SH RATIONALE
+None.
+.SH FUTURE DIRECTIONS
+None.
+.SH NOTES
+None.
+.SH BUGS
+None.
+.SH SEE ALSO
+.BR libsha2_hmac_digest (3),
+.BR libsha2_hmac_marshal (3),
+.BR libsha2_hmac_unmarshal (3),
+.BR libsha2_hmac_update (3)