当前位置:首页 » 操作系统 » linuxcrypto

linuxcrypto

发布时间: 2025-03-20 11:44:35

linux加解密框架(四)加解密流程

本文基于以下软硬件假定:


架构:AARCH64


内核版本:5.14.0-rc5


Linux内核中加解密流程涉及到对称加解密、hash(mac)、aead等不同类型算法的处理。这些算法在加解密流程中的具体实现各有差异,主要体现在以下方面:



  1. 对称加解密、mac以及aead等算法需要密钥,而hash算法不需要。

  2. 一般加解密算法需要初始向量(iv值),以增强安全性,而ecb模式则不需要。

  3. aead算法支持多种icv长度,初始化算法上下文时需指定icv(tag)长度,其他算法则不需。

  4. aead算法加密时需要包含assoc数据,解密时需包含icv(tag)数据。

  5. 不同加解密算法的操作函数可能不同,如加密和解密函数、init、update、final等。


为了适应上述差异,内核将加解密流程划分为三个层次:加解密核心、加解密类型和加解密驱动。加解密核心实现通用功能,加解密类型实现特定算法的附加功能,加解密驱动则实现具体算法的全部功能。


内核使用一系列数据结构描述算法属性,以skcipher算法类型和aes_generic算法实现为例,其关系如下:



  • crypto_alg:唯一标识注册到内核中的算法,包含公共属性如block size、数据对齐长度、算法优先级、算法名、算法驱动名,以及回调函数。

  • skcipher_alg:skcipher特定结构,包含crypto_alg与skcipher特有的属性和回调函数,如密钥长度限制、iv长度、密钥设置、加密和解密回调等。

  • crypto_tfm:动态实例,创建时需要密钥、aead的tag size等上下文信息,用于驱动加解密引擎。

  • crypto_skcipher:skcipher动态实例,包含crypto_tfm和特定算法类型的属性。

  • crypto_async_request:保存加解密参数的结构,用于执行操作。


内核还支持并行操作,如在smp系统上多核并行加解密,或硬件引擎支持多通道并行执行。为此,内核提供crypto_async_request结构,用于保存每次操作的参数。


skcipher流程包括结构体分配、参数准备、上下文设置、请求参数设置和实际操作执行。关键步骤如下:



  1. crypto_alloc_skcipher:分配并初始化crypto_skcipher结构。

  2. skcipher_request_alloc:根据crypto_tfm分配并初始化请求结构。

  3. alloc_cipher_test_sglists:为源/目的数据分配scatterlist内存。

  4. crypto_skcipher_setkey:设置密钥。

  5. build_cipher_test_sglists:创建sglist。

  6. skcipher_request_set_callback:设置回调函数。

  7. skcipher_request_set_crypt:设置加解密参数。

  8. crypto_skcipher_encrypt:执行加密操作。


类似地,hash流程也包括tfm和request分配、密钥设置(取决于算法)、sglist填充和摘要值生成。


本文详细介绍了Linux内核中加解密流程的组织、数据结构和关键步骤,以确保不同算法在复杂环境下的高效、安全执行。

⑵ linux ssh 找不到libcrypto.so.6

提示应该是少了一些ssh所需要的库
首先:
yum provides libcrypto.so.6
会出来是哪个rpm包 包含 这个lib库。
其次:
yum install 这个rpm包
应该就可以解决这个报错。幸运的话,也许ssh就可以用了,一般来说估计会报缺另外一些库。再继续这个方法依次解决即可。
希望对你有帮助。

热点内容
编程课活动 发布:2025-04-30 18:49:06 浏览:155
如何发布axure服务器 发布:2025-04-30 18:23:05 浏览:13
模拟器脚本制作 发布:2025-04-30 17:59:23 浏览:833
天翼云电脑pc版不显示服务器 发布:2025-04-30 17:32:32 浏览:597
psp存储卡是否原装 发布:2025-04-30 17:12:44 浏览:560
java的jdk64下载 发布:2025-04-30 17:05:14 浏览:692
java培训机构那家好 发布:2025-04-30 16:45:02 浏览:665
前端缓存数据库 发布:2025-04-30 16:38:59 浏览:914
视频加密网关 发布:2025-04-30 16:34:32 浏览:675
安卓机怎么做热点 发布:2025-04-30 16:33:00 浏览:941