~/talk

High-Speed Cryptography in Java: X25519, Poly1305, and EdDSA

Talkat Oracle Code One 2018 · 2018-10-22..10-25· [cryptography, security]
links:none on file
slides:none on file

JDK 11 ships Java implementations of X25519 (JEP 324), ChaCha20-Poly1305 (JEP 329) and EdDSA work (JEP 339 in progress). Implementations use branchless finite-field arithmetic with five 51-bit limbs for X25519, mutable objects to avoid GC, and a hand-unrolled inner loop where manual unrolling doubled performance. X25519 in Java runs ~5× faster than existing P-256 code and ~10× faster than BigInteger; EdDSA keygen is ~2× faster than P-256; Poly1305 is ~2× HMAC-SHA256. Panama vector prototypes exist but native AVX still leads.

AI-written summary · about

  1. 0:00Intro
  2. 4:10Sources of Branching in Crypto Code
  3. 5:29Crypto Algorithms in Context: TLS 1.3
  4. 6:33Java Cryptography Architecture JCA
  5. 7:14New Crypto Algorithms in the JDK
  6. 8:26Benefits of New Algorithms
  7. 10:15Efficient Branchless Elliptic Curve Implementation
  8. 11:31Efficient Branchless Finite Field Arithmetic
  9. 12:46Finite Field Arithmetic in Crypto Algorithms
  10. 13:37Traditional Big Number Modular Arithmetic
  11. 14:38Traditional Modular Arithmetic Example
  12. 15:53Better Modular Arithmetic
  13. 16:55Modular Arithmetic Example: Curve25519
  14. 18:23Efficient Modular Reduction
  15. 19:29Implementation Notes
  16. 20:35Pure Java Challenges
  17. 22:02Overview of Solution
  18. 23:42Finite Field implementation
  19. 25:05Optimization: Manual Loap Unrolling
  20. 26:30Benchmarking Overview
  21. 27:08Benchmarks: X25519/X448
  22. 28:47Benchmarks: EDSA (1 KB message)
  23. 29:47Benchmarks: Poly1305
  24. 30:52Better Code Generation
  25. 31:57Better Low.level instructions
  26. 35:00Conclusion
  27. 35:32Other Sessions
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.