问题标签 [aes-ni]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3175 浏览

c - 如何检查 CPU 是否支持 aes-ni?

我正在寻找解决方案,如何检查CPU 上的 aes-ni是否可用。我需要把这些信息放在我的应用程序中,所以我不是在寻找任何 CPU-Z、bash 命令或其他东西。我知道它被视为aes标志。我不知道如何在汇编或 c 中检查它。主应用程序是用 C# 编写的,但这并不重要。

0 投票
1 回答
350 浏览

macos - 通过 sysctl 暂时禁用 AES-NI hw.optional.aes 设置

出于测试原因,我想暂时禁用我的 OS X MacBook (10.10) 上的 hw.optional.aes 设置。

由于我无法通过“sysctl -w hw.optional.aes=0”直接更改该值,因此我尝试在 /etc/ 中创建一个 sysctl.conf 并将“hw.optional.aes=0”行写入文件(所有者根,组轮,644)以确保它在启动时被读取。然而,它似乎并没有那样工作。

有没有其他方法可以修改设置?

0 投票
1 回答
5477 浏览

nginx - 如何在 nginx 中配置 openssl 引擎 aes-ni

我使用引擎 AES-NI 来提高 openssl 速度(硬件加速)的性能,而我的芯片支持引擎 AES-NI(Intel(R) Xeon(R) CPU E5620 @ 2.40GHz)。

我尝试安装 openssl 版本1.0.2-chacha1.0.1l

使用命令测试速度 openssl 时的 1.0.2 版 chacha:

然后错误:

错误:错误的选项或价值

版本 1.0.1 配置 nginx 时出现错误:

nginx: [warn] ENGINE_by_id("aesni") failed (SSL: error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:filename(/usr/lib/x86_64-linux-gnu/openssl-1.0.1 /engines/libaesni.so):/usr/lib/x86_64-linux-gnu/openssl-1.0.1/engines/libaesni.so:无法打开共享对象文件:没有这样的文件或目录错误:25070067:DSO支持例程: DSO_load:无法加载共享库错误:260B6084:引擎例程:DYNAMIC_LOAD:dso 未找到错误:2606A074:引擎例程:ENGINE_by_id:没有这样的引擎:id=aesni)

我知道对于 openssl >= 1.0.1 的版本,AES-NI 不能通过引擎工作,并且不会出现在 openssl 引擎命令中。默认情况下,它在受支持的硬件上处于活动状态。

我在https://www.ruby-forum.com/topic/6873426#1168394中看到一个命令说“没有配置选项,只要你的 cpu 支持它就可以工作”。

但我没有找到官方消息来源。

请建议使用版本 openssl 和 nginx 配置的解决方案。

0 投票
0 回答
1495 浏览

java - 如何检查 Android 是否支持硬件加速的 AES

我正在开发 e 项目,我正在使用 CBC 模式进行 AES 加密。

但我需要知道 java AES 实现是否使用硬件加速(AES-NI CPU 指令集)。

据我所知,形式棒棒糖硬件加速磁盘加密是可能的。有什么方法可以检查我的手机是否支持它?

0 投票
1 回答
9351 浏览

gcc - 如何使用 AES-NI 指令和 GCC 实现 AES128 加密/解密

我想通过使用 AES-NI 来加速我的应用程序,因为我正在努力寻找任何适用于 GCC 或随附的汇编程序的示例。我对使用 SSL 或任何其他库不感兴趣。

0 投票
1 回答
1142 浏览

java - BouncyCastle 的 AES 引擎是否硬件加速?

我想知道是否有人知道 BouncyCastle 的AES 引擎是否支持硬件加速,例如,使用 AES-NI。我的理解是需要调用一些“本机代码”才能加速,但我找不到。

BC 的 AES 引擎完全是软件实现吗?如果是这样,考虑到许多现代 MCU/CPU 提供 AES 模块,这不是很好 - 对吗?大约5 年前有人问过类似的问题,但情况有所不同,因为硬件加速并不普遍。

0 投票
2 回答
22800 浏览

encryption - AES-NI 启用或禁用

AES在设置内核配置之前和之后测量了使用以下命令的性能,CONFIG_CRYPTO_AES_NI_INTEL但性能非常相似,我不确定它是否使用AES-NI,我检查 cpu 是否AES-NI有能力并CPUID显示AES-NI启用,

为什么启用配置选项CONFIG_CRYPTO_AES_NI_INTEL没有任何区别。请注意我已经有了

在这两种情况下

0 投票
0 回答
554 浏览

c++ - C++ AES-NI 解密 256 位块

所以这是我的问题.. 我正在为一个库写一个 AES-NI 实现,我被困在一个 256 位块的解密上。这是我所知道的.. 128 位块完美运行。256 块的加密与经过验证的 Rijndael 实现一致。扩展键也与其他 Rijndael 实现对齐(允许小端字节顺序)。该例程使用混合和移位掩码来补偿 256 位块的偏移列混洗,它与用于加密块的掩码相反,这也经过测试并且似乎工作正常。这是加密功能:

这是逆变换:

我已经调试了好几个小时,但无法发现问题,谁能明白为什么这不起作用?如果有帮助,我可以将代码发布到 git。

0 投票
2 回答
906 浏览

c++ - 在我的 c++ 程序中有一种方法可以检查 CPU 是否有 AES-NI

我希望能够通过 Windows 上的 C++ 代码检查 CPU 是否具有可用的 AES-NI。(MinGW GCC)

我找到了一个用 Visual Studio 用 C# 编写的解决方案。

测试来自 C# 的 AES-NI 指令

有没有一种简单的方法可以用 c++ 做同样的事情?(海合会)

0 投票
0 回答
261 浏览

openssl - AES-NI 是否支持 AES-GCM 密码?

AES-NI 旨在提高使用高级加密标准 (AES) 执行加密和解密的应用程序的速度。AES-NI 是否支持 AES-GCM 密码以及 AES-CBC?我可以知道为什么 aesni_gcm_cipher 是在 openssl 代码的 aes_gcm_cipher 中定义的吗?