Im working on my bachelor thesis and I have to test some post quantum algorithms. I downloaded them from NIST. But when I tried DAGS: https://csrc.nist.gov/CSRC/media/Projects/Post-Quantum-Cryptography/documents/round-1/submissions/DAGS.zip and tried to "make" dags3 or dags5 I got this error:
encapsulation.o: In function encapsulation':
encapsulation.c:(.text+0xeb): undefined reference to
KangarooTwelve'
encapsulation.c:(.text+0x13a): undefined reference to KangarooTwelve'
encapsulation.c:(.text+0x2c9): undefined reference to
KangarooTwelve'
encapsulation.c:(.text+0x478): undefined reference to KangarooTwelve'
decapsulation.o: In function
decapsulation':
decapsulation.c:(.text+0x16e): undefined reference to KangarooTwelve'
decapsulation.o:decapsulation.c:(.text+0x1bd): more undefined references to
KangarooTwelve' follow
collect2: error: ld returned 1 exit status
Makefile:22: recipe for target 'PQCgenKAT_kem' failed
make: *** [PQCgenKAT_kem] Error 1
I have keccak library installed and in this algorithm keccak library is included. Any ideas? Thank you for any help.
Pursuant to the comments, I had time to look into the build tonight (also on Archlinux), I didn't experience any problems. Here are the detailed steps I used.
First the general kernel and gcc info:
Cloning the KeccakCodePackage:
I usually try and and do an out-of-source build, especially with git repos (just habit from building TDE/KDE3), so I just create a
kbuild
and copy the source files over:Now build the required static library per the Readme file and copy the library and headers to /usr/local/, e.g.:
Now unzip and build DAGS
PQCgenKAT_kem
Finally run the resulting executable:
(all good, no clue what it does from there, but no errors and it is started fine...)
So, I'm not able to offer a "silver-bullet" of what went wrong with your build, but I can confirm the build, according to the various Readme files, proceeds as advertised and results in a working executable. Let me know if you have additional questions.