【发布时间】:2017-11-22 15:07:21
【问题描述】:
我已经在内核驱动程序中注册了名为 my-cbc(aes) 的加密算法。它在 /proc/crypto 中列出。 但是,当我尝试通过 AF_ALG 使用它时,我会在绑定时得到 ENOENT,但是,如果我将内核空间和用户空间中的算法重命名为 cbc(aes),一切都会按预期工作并且我的算法会被调用。
struct sockaddr_alg sa = {
.salg_family = AF_ALG,
.salg_type = "skcipher",
.salg_name = "cbc(aes)" // works
.salg_name = "my-cbc(aes)" // does not work
};
在 /proc/crypto 中:
name : my-cbc(aes)
driver : my-cbc-aes-dcp
module : mxs_dcp
priority : 400
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 16
geniv : <default>
但我不想隐藏与我同名的现有 AES 实现。 AF_ALG中算法命名有什么限制吗?
【问题讨论】:
标签: linux linux-kernel cryptography