Wol*_*ang 5 java encryption performance cryptography aes-gcm
我的用例涉及使用AES和Java中的GCM加密大量的PB级别的大量敏感数据,我需要高吞吐量才能在合理的时间内完成该任务.
正如之前在此处所要求和回答的那样,AES/GCM仍然在最新的JDK 8中严重瘫痪(在我的硬件上大约为17MB/s).我很高兴知道JEP 246为GCM添加了重要的硬件加速,使其成为Java 9的路线图,但是在我写这篇文章之后,下一个主要Java版本的一般可用性已经推迟了一年多.
到目前为止,我发现最快的实现是Bouncy Castle Provider,没有硬件加速和170MB/s的吞吐量.我知道我的硬件运行本机库的基准支持加速的GnuTLS(GNUTLS-CLI --benchmark-密码)和OpenSSL的(OpenSSL的速度-evp AES-128-GCM),无论是在超频的2GB/s的用于AES/GCM.不幸的是,我找不到当前的Java包装器.我遇到的最接近的是基于OpenSSL构建的Apache JuiCE,但它在8年前被废弃了.
有没有人遇到过支持AES/GCM硬件加速的JCE Provider,我可以在短期内使用它,无论是商业还是开源?
Netty-tcnative提供了一种使用 JNI 与本机 OpenSSL 交互的替代 SSL 引擎。您应该能够以类似的方式直接访问加密函数。也就是说,JEP 246:利用 GHASH 和 RSA 的 CPU 指令现在是 Java 9 的一部分,因此您应该能够获得类似的性能,而无需求助于本机代码。
| 归档时间: |
|
| 查看次数: |
1012 次 |
| 最近记录: |