OpenSSL vs SunJDK on AES-NI support
来源:互联网 发布:php员工数据库设计 编辑:程序博客网 时间:2024/06/10 18:27
After investigating the implementation of AES-NI support in SunJDK 7u25+ and OpenSSL 1.0.0c+ and I found out the reason why SunJDK's implementation of CTR mode and CBC decrypt mode is slower than Openssl's implementation even if they are both based on AES-NI. In OpenSSL's implementation, for parallelizable modes, such as CTR, CBC decrypt, it interleaves the AESENC/AESDEC(AES-NI instruction) instructions working on independent blocks to make use of super pipeline for better performance and the interleave level can reach 6 for CTR mode and 8 for CBC decrypt. While in SunJDK's implementation, it only interleaves AESENC/AESDEC instructions for CBC decrypt on 64-bit systems and the interleave level is only 4.
While if you use AES-NI to implement a JCE provide, then for small block size, SunJCE wil be faster. The reason is that SunJCE is part of JVM, so it can make use of intrinsic to eliminate the JNI cost. For small block size, JNI cost account for a large proportion of the overal cost. While for larger block size, SunJCE will be slower as it didn't fully interleave the AESENC/AESDEC instructions as explained above. But there is no technical reason why SunJCE hasn't done so. Maybe in the future version, SunJCE will improve this.
- OpenSSL vs SunJDK on AES-NI support
- AES-NI
- VS中使用openssl/aes加密解密
- 解决 nginx server (ubuntu)上安全漏洞 OpenSSL AES-NI Padding Oracle MitM Information Disclosure
- Openssl AES
- Openssl AES
- 什么是 AES-NI(AES指令集)
- AES - Openssl AES 函数说明
- openssl aes 加密
- OpenSSL AES使用
- openssl之aes加密
- openssl aes+sha
- openssl AES加密
- openssl AES c
- AES - Java AES算法和openssl配对
- VS中如何使用NI控件画图
- 使用Openssl的AES加密算法
- openssl aes 高级加解密
- (Miller Rabin算法)判断一个数是否为素数
- Android 零基础学习之路
- How Qt Signals and Slots Work - Qt的信号-槽机制是如何工作的
- C语言复杂函数声明解释
- <select>标签默认选中值
- OpenSSL vs SunJDK on AES-NI support
- IT技术学习感悟
- [Android] - 如何写Instrumentation UT Manifest.xml
- 远程登陆VMware虚拟机中的Linux系统
- c++编码规范(一)
- 手机游戏开发关于Cocos2d-x和Unity3d之间的选择(个人见解)
- 技术站点汇总
- POJ 3274 Gold Balanced Lineup (hash)
- tail 命令