aboutsummaryrefslogtreecommitdiffstats
path: root/libar2simplified.7
blob: b2e7c5d5ef0152fbd104ed1ccf6f3a742df3db38 (plain) (blame)
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
.TH LIBAR2SIMPLIFIED 7 LIBAR2SIMPLIFIED
.SH NAME
libar2simplified - Simplified interface for libar2

.SH DESCRIPTION
.B libar2simplified
is a façade for the
.BR libar2 (7)
C library that implements the family of Argon2 key
derivation functions, including Argon2d, Argon2i, and
Argon2id, as well as Argon2ds which was not part of
the submission to the Password Hashing Competition
of 2013, which Argon2 won in 2015. As a key derivation
function, Argon2 is well-suited for cryptographically
hashing (one-way encrypting) passwords. Whereas the
.BR libar2 (7)
library is suitable for any code-base, as long as it has
some standard C functions available, since it does
not interact with the operating system,
.B libar2simplified
can only be used in fully hosted environments, since
it uses dynamic memory allocation, multi-threading,
and interacts with the operating system to generate
random salt or a seed used to generate the random
data used for the salt.
.PP
.B libar2simplified
provides two functions for calculating a hash:
.BR libar2simplified_crypt (3)
and
.BR libar2simplified_hash (3).
.BR libar2simplified_crypt (3)
provides a
.BR crypt (3)-style
interface, whereas
.BR libar2simplified_hash (3)
provides a flexible interface that supports pepper,
associated data, and NUL bytes in the message, and
output the password hash in binary without prepending
the parameters.

.SH SEE ALSO
.BR libar2simplified (7),
.BR libar2simplified_crypt (3),
.BR libar2simplified_decode (3),
.BR libar2simplified_decode_r (3),
.BR libar2simplified_encode (3),
.BR libar2simplified_encode_hash (3),
.BR libar2simplified_hash (3),
.BR libar2simplified_init_context (3),
.BR libar2simplified_recommendation (3)