原文はこちら。
The original article was written by Shawn Emery (Principal Platform Software Engineer, Oracle).
https://inside.java/2026/09/03/java-acceleration-curve25519-field-operations/
JDK 27 および JDK 28 ではCurve25519 の体演算のパフォーマンスを大幅に向上させる数々の機能強化が行われました。これは、X25519 [1] による鍵生成および合意、Ed25519 [2] 署名方式、および TLS 1.3 向けの X25519MLKEM768 [3,9] ポスト量子ハイブリッド鍵交換グループの基礎です。
アプリケーションでは、JCE API のKeyAgreement、Signature、KeyPairGeneratorを使用してこれらのアルゴリズムを実行する場合、および TLS 1.3 ハイブリッド鍵交換で JSSE API を使用する場合に、これらのパフォーマンス向上が確認できます。
アプリケーションでは、JCE API のKeyAgreement、Signature、KeyPairGeneratorを使用してこれらのアルゴリズムを処理する場合、および TLS 1.3 ハイブリッド鍵交換で JSSE API を使用する場合に、こうしたパフォーマンスの向上が確認できます。
Improved Performance of Curve25519 Field Operations
ソフトウェアの変更により、内部データ構造のサイズが拡大され、より効率的な計算が可能になりました。その結果、JDK 27 – ビルド 14 以降、以下のアルゴリズムで顕著なパフォーマンス向上が見込まれます。
- X25519 [4,5] の鍵生成および鍵合意:スループットが 49~54% 向上
- Ed25519 [6,7] の鍵生成、署名、および検証:スループットが 46~49% 向上
- X25519MLKEM768 [8] の鍵生成およびハイブリッド鍵交換:スループットが 27~51% 向上
ソフトウェアの効率化に加え、x86_64 および AArch64 アーキテクチャの両方に対してintrinsicsが作成されました。これらのintrinsicsは、ソフトウェアの改良を基盤とし、アーキテクチャ固有の最適化されたマシン命令を使用しています。その結果、JDK 28(ビルド 5)以降、以下のプラットフォームで大幅なパフォーマンス向上が確認されました。
| CPU | Performance improvement |
|---|---|
| x86_64 | X25519 鍵生成および鍵合意:スループットが 19% 向上 Ed25519 鍵生成、署名、および検証:スループットが 16~20% 向上 X25519MLKEM768 鍵生成およびハイブリッド鍵交換:スループットが 12~15% 向上 |
| AArch64 | X25519 鍵生成および鍵合意:スループットが 7~10% 向上 Ed25519 鍵生成、署名、および検証:スループットが 12~15% 向上 X25519MLKEM768 鍵生成およびハイブリッド鍵交換:スループットが 7~8% 向上 |
Next Steps
JDK 27 および JDK 28 の早期アクセスビルドでは、X25519、Ed25519、および X25519MLKEM768 アルゴリズムを用いた Curve25519 フィールド演算において、アプリケーションのパフォーマンスが大幅に向上します。ぜひ、JDK 27およびJDK 28の早期アクセス版をダウンロードして、これらの改善をお試しいただき、security-dev OpenJDK メーリングリスト(登録が必要)を通じてフィードバックをお寄せください。
OpenJDK JDK 27 GA Release Builds
OpenJDK JDK 28 Early-Access Builds
Info | security-dev@openjdk.org – openjdk.org
References
[1] X25519 is a key agreement function that uses Curve25519, as specified in RFC 7748 – Elliptic Curves for Security
[2] Ed25519 is a signature algorithm that is based on Curve25519, as specified in RFC 8032 – Edwards-Curve Digital Signature Algorithm (EdDSA)
[3] X25519MLKEM768 is a post-quantum hybrid key exchange scheme specified in RFC 10024 – Post-Quantum Traditional (PQ/T) Hybrid Key Agreement Mechanisms for TLS 1.3
[4] Benchmark: micro:org.openjdk.bench.javax.crypto.full.KEMBench.JSSE_DHasKEM
[5] Benchmark: micro:org.openjdk.bench.javax.crypto.full.KeyAgreementBench.XDH
[6] Benchmark: micro:org.openjdk.bench.javax.crypto.full.KeyPairGeneratorBench.EdDSA
[7] Benchmark: micro:org.openjdk.bench.javax.crypto.full.SignatureBench.EdDSA
[8] Benchmark: micro:org.openjdk.bench.java.security.SSLHandshake
コメントを残す