如何为用户模式应用程序将我自己的算法注册到Linux crypto API

问题描述

我是Linux内核(和crypto API)的新手。目前,我正在将硬件加密技术应用于OpenSSL等用户模式应用程序。我进行了很多搜索,但仍不太清楚。

我的第一个问题是,以下是我应该做的所有事情?

  • 首先,我应该将自己的算法注册到Linux内核的Crypto API。
  • 然后,我需要通过AF_ALG或cryptodev从OpenSSL等调用上面注册的算法(不推荐使用,因为它已获得GPL许可)。

在第一步中,我应该在哪里部署注册代码(黑客linux内核还是将其部署在用户模式的应用程序中?)并且有任何简单的实现示例吗?

我的算法是一些与硬件通信以开始实际加密过程的API,包括对称/非对称加密和哈希/ hmac。例如,

uint32_t AES_ecb(uint32_t addr_src,uint32_t addr_dest,uint32_t length,uint8_t key_idx,uint8_t encORdec)

显然,它与原始的Crypto API接口有很大的不同。 所以我的第二个问题是出于减少包装程序(并提高速度)的目的,是否有必要修改此API以使其适合Crypto API(或者没有太大的区别,所以我不需要) t与供应商联系)?

我搜索了很多有关Crypto API的信息(例如crypto_alg和AF_ALG的关键字),但是关于算法注册的信息并不多。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...