aboutsummaryrefslogtreecommitdiffstats
path: root/man3/libkeccak_digest.3
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2019-02-10 23:19:58 +0100
committerMattias Andrée <maandree@kth.se>2019-02-10 23:19:58 +0100
commitc461a856bc3bca4b1190cf46a1d8a4f401f79b5c (patch)
treedae918632e8bfc1f3d0c23f00a23e7c2e68db4ef /man3/libkeccak_digest.3
parentAdd test from github issue #10 (diff)
downloadlibkeccak-c461a856bc3bca4b1190cf46a1d8a4f401f79b5c.tar.gz
libkeccak-c461a856bc3bca4b1190cf46a1d8a4f401f79b5c.tar.bz2
libkeccak-c461a856bc3bca4b1190cf46a1d8a4f401f79b5c.tar.xz
General API improvements
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to '')
-rw-r--r--man3/libkeccak_digest.344
1 files changed, 19 insertions, 25 deletions
diff --git a/man3/libkeccak_digest.3 b/man3/libkeccak_digest.3
index 33b0479..5f42796 100644
--- a/man3/libkeccak_digest.3
+++ b/man3/libkeccak_digest.3
@@ -2,16 +2,13 @@
.SH NAME
libkeccak_digest - Complete the hashing of a message with erasure
.SH SYNOPSIS
-.LP
.nf
#include <libkeccak.h>
-.P
-int
-libkeccak_digest(libkeccak_state_t *\fIstate\fP, const char *\fImsg\fP,
- size_t \fImsglen\fP, size_t \fIbits\fP, const char *\fIsuffix\fP,
- char *\fIhashsum\fP);
+
+int libkeccak_digest(libkeccak_state_t *\fIstate\fP, const void *\fImsg\fP, size_t \fImsglen\fP,
+ size_t \fIbits\fP, const char *\fIsuffix\fP, void *\fIhashsum\fP);
.fi
-.P
+.PP
Link with
.IR -lkeccak .
.SH DESCRIPTION
@@ -54,7 +51,7 @@ the message. If this string is empty,
may be used instead. This is used to select hash algorithm.
For pure Keccak,
.I NULL
-or "" is used. For the other algorithms the constants
+or \(dq\(dq is used. For the other algorithms the constants
.B LIBKECCAK_SHA3_SUFFIX
(for SHA-3),
.B LIBKECCAK_RAWSHAKE_SUFFIX
@@ -97,7 +94,7 @@ function may fail for any reason specified by the function
This example calculates the Keccak[b = 1024, c = 576, n = 256]
hash of the input from stdin, and prints the hash, in hexadecimal
form, to stdout.
-.LP
+.PP
.nf
libkeccak_state_t state;
libkeccak_spec_t spec;
@@ -110,26 +107,26 @@ spec.bitrate = 1024;
spec.capacity = 576;
spec.output = 256;
if (libkeccak_state_initialise(&state, &spec) < 0)
- goto fail;
+ goto fail;
for (;;) {
- len = read(STDIN_FILENO, chunk, sizeof(chunk));
+ len = read(STDIN_FILENO, chunk, sizeof(chunk));
- if ((len < 0) && (errno == EINTR))
- continue;
- if (len < 0)
- goto fail;
- if (len == 0)
- break;
+ if ((len < 0) && (errno == EINTR))
+ continue;
+ if (len < 0)
+ goto fail;
+ if (len == 0)
+ break;
- if (libkeccak_update(&state, chunk, (size_t)len) < 0)
- goto fail;
+ if (libkeccak_update(&state, chunk, (size_t)len) < 0)
+ goto fail;
}
-if (libkeccak_digest(&state, NULL, 0, 0, "", binhash) < 0)
- goto fail;
+if (libkeccak_digest(&state, NULL, 0, 0, \(dq\(dq, binhash) < 0)
+ goto fail;
libkeccak_behex_lower(hexhash, binhash, sizeof(binhash));
-printf("%s\\n", hexhash);
+printf(\(dq%s\en\(dq, hexhash);
libkeccak_state_destroy(&state);
.fi
.SH SEE ALSO
@@ -140,6 +137,3 @@ libkeccak_state_destroy(&state);
.BR libkeccak_simple_squeeze (3),
.BR libkeccak_fast_squeeze (3),
.BR libkeccak_squeeze (3)
-.SH BUGS
-Please report bugs to https://github.com/maandree/libkeccak/issues or to
-maandree@kth.se