gpt4 book ai didi

Linux AF_ALG 加密 API : algorithm name

转载 作者:太空宇宙 更新时间:2023-11-04 12:15:56 26 4
gpt4 key购买 nike

我已经在内核驱动程序中注册了我的加密算法,名称为 my-cbc(aes)。它列在/proc/crypto.但是,当我尝试通过 AF_ALG 使用它时,如果我在内核空间和用户空间中将我的算法重命名为 cbc(aes),我会在绑定(bind)时得到 ENOENT,一切都按预期工作,我的算法被调用。

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算法命名有什么限制吗?

最佳答案

似乎内核找到了我的算法实现,但随后尝试找到另一个具有相同名称的算法,尽管我已经在注册元信息中删除了 CRYPTO_ALG_NEED_FALLBACK 标志。但是在内核源代码检查期间,我发现我可以将驱动程序名称 (my-cbc-aes-dcp) 指定为 salg_name 而不仅仅是名称,所以我将我的算法命名回 cbc(aes),降低它的优先级并选择它通过驱动程序名称。

关于Linux AF_ALG 加密 API : algorithm name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47437960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com