我目前正在尝试使用
的功能/usr/src/linux/crypto/aes_generic.c
在用户空间程序中 我想编码已分配的内存并使用上述文件的ecnrypt函数。
如何在用户空间程序中使用这些内核函数?
我尝试使用
在我的用户空间程序中包含所需的内核头文件-I /usr/src/linux/include/
但是当我得到asm / irqflags.h,文件或目录未找到的错误时,我得到了很大的帮助。
这里是包含
#include <asm-generic/irqflags.h>
我没有asm目录,其他两个标题包含上述错误,并且asm-generic as directory
提前致谢
答案 0 :(得分:1)
有User-space interface for Crypto API。因此,您可以使用AF_ALG接口访问内核加密API(在Linux内核版本2.6.38之后)。
以下是cryptsetup源代码中的一些工作示例。
答案 1 :(得分:0)
Cryptodev-linux module允许您通过/dev/crypto
从用户空间访问Linux内核加密驱动程序。可以找到例子,例如here。优点是您可以从其可能使用的硬件加速中受益。
否则,您需要使用AES库的许多衍生产品之一来链接您的用户应用程序。有关列表,请参阅here。