Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux kernel 带有Linux加密API的GCM(AES)_Linux Kernel_Cryptoapi_Aes Gcm - Fatal编程技术网

Linux kernel 带有Linux加密API的GCM(AES)

Linux kernel 带有Linux加密API的GCM(AES),linux-kernel,cryptoapi,aes-gcm,Linux Kernel,Cryptoapi,Aes Gcm,我正在学习如何使用Linux加密API。我成功地使用了.salg_type=“skcipher”、.salg_name=“cbc(aes)”但是使用了“aead”/“gcm(aes)”sendmsg设置了错误无效参数(22)。怎么了?我查看了文档,但无法找出错误所在 struct sockaddr\u alg sa={ .salg_family=AF_ALG, .salg_type=“aead”, .salg_name=“gcm(aes)” }; tfmfd=套接字(AF_ALG,SOCK_SE

我正在学习如何使用Linux加密API。我成功地使用了.salg_type=“skcipher”、.salg_name=“cbc(aes)”但是使用了“aead”/“gcm(aes)”sendmsg设置了错误无效参数(22)。怎么了?我查看了文档,但无法找出错误所在

struct sockaddr\u alg sa={
.salg_family=AF_ALG,
.salg_type=“aead”,
.salg_name=“gcm(aes)”
};
tfmfd=套接字(AF_ALG,SOCK_SEQPACKET,0);
绑定(tfmfd,(struct sockaddr*)和sa,sizeof(sa));
setsockopt(tfmfd、SOL_ALG、ALG_SET_KEY,“\x06\xa9\x21\x40\x36\xb8\xa1\x5b\x51\x2e\x03\xd5\x34\x12\x00\x06”,16));
opfd=accept(tfmfd,NULL,0);
//忽略了msg初始化的细节,比如cbc(aes)的初始化
如果(-1==sendmsg(opfd,&msg,0)){
//errno为22(参数无效)
}