定位 Linux CPUInfo 中的硬件加密标志
在 linux 中,处理器的硬件加密能力会直接暴露在 /proc/cpuinfo 的 flags 字段中。你只需查看该字段是否包含与加密相关的关键字即可判断支持情况。该文件是内核导出的运行时 cpu 特性清单,包含诸如 aes、sha1、sha2、pmull 等标志位。
常见架构的关键标志对照
| 架构 | 标志字段位置 | 常见硬件加密标志示例 | 备注 |
|---|---|---|---|
| x86_64 | /proc/cpuinfo 的 flags | aes、pclmulqdq、sha1、sha2、rdrand | 这些标志表示处理器内置的 aes-ni、pclmul、sha-ni、rdrand 等硬件加速与随机数生成能力 |
| aarch64/arm64 | /proc/cpuinfo 的 features | aes、pmull、sha1、sha2、crc32 | armv8 上用 asimd 表示 simd;neon 多见于 armv7,armv8 应查 asimd |
说明:不同架构/内核版本的标志名称可能略有差异,但上述标志在各自平台上均用于指示相应的硬件加密/哈希/校验能力。
快速查看命令
示例(在支持 aes-ni 的 x86 主机上,你会看到包含 aes、pclmulqdq、sha1、sha2 等的 flags 行)。
与内核加密子系统的关系
/proc/cpuinfo 只告诉你“cpu 指令级”是否支持;而 linux 内核的 crypto 子系统 负责把软件请求调度到这些硬件引擎(通过 AF_ALG/cryptodev 等接口)。因此,即使 flags 显示支持,还需内核与用户态正确启用相应引擎,应用才能真正获得硬件加速。
易混淆点