Argon2

--

In cybersecurity, there are many cases where you have a secret and then need to derive something from this — along with a salt value. This involves taking a password and then deriving either an encryption key of a fixed size or a hashed value. But, the problem we have with these is that GPUs allow for fast hashing and can thus often quickly crack a hashed version of a password. To overcome this, we often apply a number of rounds to the hashing process, such as with Bcrypt and PBKDF2 (Password-based Key Derivation Function 2).

Unfortunately, GPU cores can still run the hashing process at a reasonable cost. To overcome cracking with GPUs, we can thus construct a computing method that will require a given amount of memory to complete the task. As the cores of the GPUs do not have much memory for each core, then local memory is overloaded and causes the GPU to slow down. This is known as being memory-hard and is implemented with Argon 2.

Along with this, such as in the area of cryptocurrency, we have applications where a given amount of computation (work) needs to be completed to perform a task. Again, we can use Argon 2 to define the work requirements for the computation.

RFC 9106

Argon2 was designed Alex Biryukov, Daniel Dinu, and Dmitry Khovratovich, and is a key derivation function (KDF), where were we can create hashed values of passwords, or…

--

--

Prof Bill Buchanan OBE FRSE
ASecuritySite: When Bob Met Alice

Professor of Cryptography. Serial innovator. Believer in fairness, justice & freedom. Based in Edinburgh. Old World Breaker. New World Creator. Building trust.