【发布时间】:2018-12-04 03:23:43
【问题描述】:
我正在写我的学士论文,我必须测试一些后量子算法。我从 NIST 下载了它们。但是当我尝试 DAGS:https://csrc.nist.gov/CSRC/media/Projects/Post-Quantum-Cryptography/documents/round-1/submissions/DAGS.zip 并尝试“制作”dags3 或 dags5 时,我收到了这个错误:
encapsulation.o: 在函数encapsulation':
encapsulation.c:(.text+0xeb): undefined reference toKangarooTwelve'
encapsulation.c:(.text+0x13a): 未定义引用KangarooTwelve'
encapsulation.c:(.text+0x2c9): undefined reference toKangarooTwelve'
encapsulation.c:(.text+0x478): undefined reference to KangarooTwelve'
decapsulation.o: In functiondecapsulation':
decapsulation.c:(.text+0x16e): undefined reference to KangarooTwelve'
decapsulation.o:decapsulation.c:(.text+0x1bd): more undefined references toKangarooTwelve' 跟随
collect2:错误:ld 返回 1 个退出状态
Makefile:22:目标“PQCgenKAT_kem”的配方失败
make: *** [PQCgenKAT_kem] 错误 1
我安装了 keccak 库,并且在这个算法中包含了 keccak 库。有任何想法吗?感谢您的帮助。
【问题讨论】:
-
您是否按照说明下载了
git clone https://github.com/gvanas/KeccakCodePackage,然后下载了make generic64/libkeccak.a,并将生成的库和标头复制到/usr/local,如README.md文件中指定的那样? -
嗨@DavidC.Rankin,是的,我尝试了我能找到的一切。我也尝试按照 dags 自述文件进行操作,但没有成功。
-
检查
encapsulation.c源以及keccak/KangarooTwelve文件,看看是否没有符号更改,例如Kangaroo-Twelve或KangarooTwelve2等...错误是链接器错误,告诉您它找不到KangarooTwelve。值得为roo查找整个源代码(包括keccak目录中的众多宏),看看是否对其中一个袋鼠名字做了一些有趣的事情。这是目前唯一有意义的事情。 -
我下班后会有时间来构建它,如果我发现任何东西,我会告诉你。
-
谢谢,代码应该不会有任何错误,因为这个算法是提交给:csrc.nist.gov/projects/post-quantum-cryptography/…所以必须有人运行这个代码才能成功。非常感谢:)
标签: c++ keccak post-quantum-cryptography