首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启用aes-ni但不支持内核?

启用aes-ni但不支持内核?
EN

Unix & Linux用户
提问于 2016-07-20 17:45:18
回答 1查看 3.1K关注 0票数 1

像cpuid和cat /proc/cpuinfo这样的工具可以确认aes指令是可用的,对吗?但是,我检查了/proc/crypto,没有看到AES。我正在运行CentOS 6。我的理解正确吗?如果没有加载aes的内核模块,我就不能利用AES-NI指令吗?

modprobe这样的工具会加载适当的内核模块吗?(不幸的是,我没有管理员权限)

我正在运行一个使用AES-NI的测试程序,其性能比预期的低一个数量级。

我也很好奇,因为AES-NI被禁用了,cpu运行的是什么指令呢?“软件仿真”?

编辑:当我运行modinfo时,我看到了以下内容

代码语言:javascript
复制
$ /sbin/modinfo aesni_intel
filename:       /lib/modules/2.6.32-431.17.1.el6.x86_64/kernel/arch/x86/crypto/aesni-intel.ko
alias:          aes
license:        GPL
description:    Rijndael (AES) Cipher Algorithm, Intel AES-NI instructions optimized
srcversion:     E6C037FA50922CF84440A82
depends:        glue_helper,aes-x86_64,lrw,cryptd,aes_generic,ablk_helper
vermagic:       2.6.32-431.17.1.el6.x86_64 SMP mod_unload modversions 

EDIT2:上面的模块也适用于AMD处理器吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2016-07-20 23:12:15

文件/proc/crypto列出了内核本身执行加密操作时可用的算法,例如IPsec和磁盘加密之类的网络协议。此文件不传递关于用户土地程序可以做什么的信息。

aesni_intel模块包含使用Intel NI加速器实现AES的代码。当内核代码需要运行AES时,需要使用AES-NI。

据我所知,使用AES-NI加速器并不需要任何内核代码。程序只需发出AESxxx CPU指令即可。如果处理器没有AES-NI,程序将触发无效的指令处理器异常,该异常被转换为SIGILL信号。内核可以通过模拟缺失指令的行为来处理异常,但据我所知,Linux并不是针对AES-NI指令来处理异常。

AES-NI指令在英特尔和AMD处理器上是兼容的.

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/297171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档