JEP draft: Argon2 Password Hashing Algorithms

TypeFeature
ScopeSE
StatusDraft
Release27
Componentsecurity-libs
Created2026/02/03 15:26
Updated2026/02/04 15:15
Issue8377081

Summary

Enhance the security of Java applications by adding support for Argon2 memory-hard function for password hashing and proof-of-work applications.

Motivation

Memory-hard functions (MHFs) are cryptographic functions designed to require a significant, irreducible amount of RAM to compute efficiently. Their primary purpose is to level the playing field between standard CPUs and specialized hardware like ASICs or FPGAs. In password hashing, attackers use custom hardware to test millions of guesses per second. Standard hashes (like SHA-256) are "compute-bound," meaning they only require processing power, which ASICs have in abundance. MHFs force the hardware to constantly read/write to memory, which is physically expensive and slow to scale on a custom chip, making large-scale attacks prohibitively costly.

Description

Argon2 – Winner of 2015 Password Hashing Competition. The Argon2 function uses a large, fixed-size memory region (often called the 'memory array' in documentation) to make brute-force attacks computationally expensive. The three variants differ in how they access this memory:

The goal of this JEP is to support all 3 variants.

Alternatives