Skip to content

Commit fd95e1b

Browse files
committed
Implement Argon2 backend (all flavours) and tests.
1 parent f052cca commit fd95e1b

21 files changed

+2201
-219
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
/libcrypt.map
4848
/libcrypt.map.stamp
4949
gen-des-tables
50+
test/alg-argon2
5051
test/alg-blake2b
5152
test/alg-des
5253
test/alg-gost3411-2012
@@ -90,6 +91,9 @@ test/gensalt-nthash
9091
test/gensalt-extradata
9192
test/getrandom-fallbacks
9293
test/getrandom-interface
94+
test/ka-argon2d
95+
test/ka-argon2i
96+
test/ka-argon2id
9397
test/ka-bcrypt
9498
test/ka-bcrypt-a
9599
test/ka-bcrypt-x

Makefile.am

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ nodist_noinst_HEADERS = \
6868
crypt-hashes.h \
6969
crypt-symbol-vers.h
7070
noinst_HEADERS = \
71+
lib/alg-argon2.h \
72+
lib/alg-argon2-core.h \
73+
lib/alg-argon2-encoding.h \
74+
lib/alg-argon2-thread.h \
7175
lib/alg-blake2b.h \
7276
lib/alg-des.h \
7377
lib/alg-gost3411-2012-const.h \
@@ -101,6 +105,11 @@ lib_LTLIBRARIES = \
101105
libcrypt.la
102106

103107
libcrypt_la_SOURCES = \
108+
lib/alg-argon2.c \
109+
lib/alg-argon2-core.c \
110+
lib/alg-argon2-encoding.c \
111+
lib/alg-argon2-ref.c \
112+
lib/alg-argon2-thread.c \
104113
lib/alg-blake2b.c \
105114
lib/alg-des-tables.c \
106115
lib/alg-des.c \
@@ -116,6 +125,7 @@ libcrypt_la_SOURCES = \
116125
lib/alg-sm3-hmac.c \
117126
lib/alg-yescrypt-common.c \
118127
lib/alg-yescrypt-opt.c \
128+
lib/crypt-argon2.c \
119129
lib/crypt-bcrypt.c \
120130
lib/crypt-des.c \
121131
lib/crypt-gensalt-static.c \
@@ -349,6 +359,9 @@ endif
349359
# The list should otherwise be kept in alphabetical order.
350360

351361
check_PROGRAMS = \
362+
test/ka-argon2d \
363+
test/ka-argon2i \
364+
test/ka-argon2id \
352365
test/ka-bcrypt \
353366
test/ka-bcrypt-a \
354367
test/ka-bcrypt-x \
@@ -367,6 +380,7 @@ check_PROGRAMS = \
367380
test/ka-sm3-yescrypt \
368381
test/ka-sunmd5 \
369382
test/ka-yescrypt \
383+
test/alg-argon2 \
370384
test/alg-blake2b \
371385
test/alg-des \
372386
test/alg-gost3411-2012 \
@@ -401,6 +415,9 @@ check_PROGRAMS = \
401415

402416
# All of the known-answer tests are compiled from the same source file,
403417
# with different macros defined.
418+
test_ka_argon2d_SOURCES = test/ka-tester.c
419+
test_ka_argon2i_SOURCES = test/ka-tester.c
420+
test_ka_argon2id_SOURCES = test/ka-tester.c
404421
test_ka_bcrypt_SOURCES = test/ka-tester.c
405422
test_ka_bcrypt_a_SOURCES = test/ka-tester.c
406423
test_ka_bcrypt_x_SOURCES = test/ka-tester.c
@@ -420,6 +437,9 @@ test_ka_sm3_yescrypt_SOURCES = test/ka-tester.c
420437
test_ka_sunmd5_SOURCES = test/ka-tester.c
421438
test_ka_yescrypt_SOURCES = test/ka-tester.c
422439

440+
test_ka_argon2d_CPPFLAGS = $(AM_CPPFLAGS) -DTEST_argon2d
441+
test_ka_argon2i_CPPFLAGS = $(AM_CPPFLAGS) -DTEST_argon2i
442+
test_ka_argon2id_CPPFLAGS = $(AM_CPPFLAGS) -DTEST_argon2id
423443
test_ka_bcrypt_CPPFLAGS = $(AM_CPPFLAGS) -DTEST_bcrypt
424444
test_ka_bcrypt_a_CPPFLAGS = $(AM_CPPFLAGS) -DTEST_bcrypt_a
425445
test_ka_bcrypt_x_CPPFLAGS = $(AM_CPPFLAGS) -DTEST_bcrypt_x
@@ -510,6 +530,9 @@ test_short_outbuf_LDADD = $(COMMON_TEST_OBJECTS)
510530
test_preferred_method_LDADD = $(COMMON_TEST_OBJECTS)
511531
test_special_char_salt_LDADD = $(COMMON_TEST_OBJECTS)
512532

533+
test_ka_argon2d_LDADD = $(COMMON_TEST_OBJECTS)
534+
test_ka_argon2i_LDADD = $(COMMON_TEST_OBJECTS)
535+
test_ka_argon2id_LDADD = $(COMMON_TEST_OBJECTS)
513536
test_ka_bcrypt_LDADD = $(COMMON_TEST_OBJECTS)
514537
test_ka_bcrypt_a_LDADD = $(COMMON_TEST_OBJECTS)
515538
test_ka_bcrypt_x_LDADD = $(COMMON_TEST_OBJECTS)
@@ -537,6 +560,15 @@ test_ka_yescrypt_LDADD = $(COMMON_TEST_OBJECTS)
537560
test_gensalt_LDADD = \
538561
lib/libcrypt_la-util-xstrcpy.lo \
539562
$(COMMON_TEST_OBJECTS)
563+
test_alg_argon2_LDADD = \
564+
lib/libcrypt_la-alg-argon2.lo \
565+
lib/libcrypt_la-alg-argon2-core.lo \
566+
lib/libcrypt_la-alg-argon2-encoding.lo \
567+
lib/libcrypt_la-alg-argon2-ref.lo \
568+
lib/libcrypt_la-alg-argon2-thread.lo \
569+
lib/libcrypt_la-alg-blake2b.lo \
570+
lib/libcrypt_la-util-xbzero.lo
571+
# $(COMMON_TEST_OBJECTS)
540572
test_alg_blake2b_LDADD = \
541573
lib/libcrypt_la-alg-blake2b.lo \
542574
lib/libcrypt_la-util-xbzero.lo \

0 commit comments

Comments
 (0)