问题标签 [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.
python - 对 AES-NI 的 Python 支持
有没有办法在 Python 中使用 AES-NI?我确实想通过利用我对 AES-NI 的硬件支持来使 HMAC 更快。谢谢。
java - 支持 AES-NI 的 Java SSL 提供程序
是否有可以处理 SSL 连接并支持 AES-NI 指令的 Java 安全提供程序?
我曾尝试将 SunPKCS11 与 Mozilla NSS 一起使用,但它不适用于使用 AES 加密的 SSL 连接。根据Java PKCS#11 Reference Guide,此提供程序不支持 SSLContext.* “算法” :-(
c# - 在 C# 中使用 AES-NI
我有一个问题,我希望我在这里是正确的。我想在 C# 程序中使用 AES-NI 加速。我没有找到任何好的来源,并想问这是否可能以及是否有任何好的信息来源。另外我想问一下,AES-NI 支持哪些密钥大小?
linux - 如何在 Linux 上为 Node.js 加密启用 AES-NI(硬件加速)?
我写了一个基本函数来测试 Node.js 内置加密函数的 AES-256-CBC 模式的速度。这些函数使用 OpenSSL,因此它们应该支持 AES-NI,但是当我正确启用 AES-NI 并对 OpenSSL 进行命令行测试时,OpenSSL 上的加密速度约为 350MB/s,而 Node.js 上只有 ~100MB/s加密货币。
我使用这个答案在命令行中启用 OpenSSL AES-NI 并按如下方式运行它:
openssl speed -evp aes-256-cbc
我的问题是,如何使 AES 的 Node.js 加密函数的速度与在命令行中运行的 OpenSSL 的速度相匹配?我怀疑原因是没有使用 AES-NI
c++ - GDB 在操作 SSE2 寄存器时报告 EXC_BAD_ACCESS
所以我正在尝试编写一个 AESNI 库。当我用符号编译我的程序并在 GDB 中运行它时。我收到以下错误:
代码:(g++ -g aesni.c -o aesni; gdb aesni)
所以我在第 33 行设置了断点。
该程序编译没有错误,但是当我尝试在 GDB 中单步执行时它被卡住了。
c++ - 无法使用英特尔 AES-NI 示例库以 32 字节块大小加密/解密
我正在尝试在 Visual Studio 上使用带有 C++ 的 intel_aes_c 库来创建一种以 32 字节块大小进行加密的加密方法,但即使执行 #define BLOCK_SIZE (32) 也无济于事。
一般来说,我想问一下如何在英特尔 AES-NI 示例库中设置块大小。任何帮助或澄清以正确的方式指出我将不胜感激,谢谢!
c - 使用 rfc3686(ctr(aes)) 解密而不使用 Linux 内核中的 AES-NI 指令
我试图弄清楚 AES-NI 给 AES 加密操作带来的不同。正如英特尔所说,在尝试使用 AES-CBC 之后,它似乎没有成功。然而,对于 AES-CTR 和 AES-GCM 模式,英特尔承诺会大幅提升性能。我正在尝试使用 rfc3686(ctr(aes)) 加密算法来解密 ESP 数据包,但没有成功。这是我的加密 API 代码片段-
// 这里是decrypt_callback
现在,在数据包处理过程中,我看到crypto_ablkcipher_decrypt返回 0,但没有调用decrypt_callback 。
另外,我在 AES-NI rfc3686(ctr(aes))解密路由中放了一些打印,我看不到这些打印,当放入 AES-CBC 解密和使用 AES-CBC 算法时是可见的。
请指教可能出了什么问题。
谢谢
c++ - AES-NI 256 位块加密
我正在尝试使用取自英特尔白皮书的代码,如下所示。我的目标是使用 AES-NI 执行 256 位块加密。我已经使用该方法成功导出了密钥计划,该方法在用于扩展密钥的英特尔 AES-NI 库中提供:iEncExpandKey256(key,expandedKey);
并且扩展密钥在我的非 AES-NI AES 实现中工作正常。
但是,当我将值传递给我时,Rijndael256_encrypt(testVector,testResult,expandedKey,32,1) ;
我收到“尝试访问受保护的内存,这通常表明内存已损坏”的错误,导致此问题的代码行data1 = _mm_xor_si128(data1, KS[0]); /* round 0 (initial xor) */
如下所示。
所以我的问题是,这样的错误可能是什么错误?我目前的假设是 data1 和 KS[0] 的大小可能不同,我目前仍在验证它。除此之外,我不确定我还能在哪里看。如果有人能指出正确的方向来解决此错误,将不胜感激。
c++ - AES-NI 256 位块加密 - CBC
我正在尝试在 256 位块上实现 AES-NI。我已经根据英特尔白皮书修改了代码,以下是我的修改。
但是,在这条线上feedback1 = _mm_xor_si128 (feedback1,key[0]);
,我遇到了 System.AccessViolationException 异常。我之前发布了一个类似的问题,我通过调整我的键程来解决这个问题,但在这种情况下它似乎不起作用,我不知道还有哪里可以看。如果有人能给我一些指示或指出正确的方向来解决这个问题,那就太好了。谢谢你。
java - Java 是否在可用时使用 AES-NI?
我刚听说指令集扩展 AES-NI。如果可用于增强性能,Java 的 JIT 编译器是否会将应用程序编译为使用 AES-NI?
如果是,如果不确定是否会使用 AES(例如使用 TLS 时),它是否也会这样做?