Argon - Netflix

Type: Scripted

Languages: Korean

Status: Ended

Runtime: 70 minutes

Premier: 2003-12-24

Argon - Argon2 - Netflix

Argon2 is a key derivation function that was selected as the winner of the Password Hashing Competition in July 2015. It was designed by Alex Biryukov, Daniel Dinu, and Dmitry Khovratovich from the University of Luxembourg. Argon2 is released under a Creative Commons CC0 license (i.e. public domain), and provides three related versions: Argon2d maximizes resistance to GPU cracking attacks. It accesses the memory array in a password dependent order, which reduces the possibility of time–memory trade-off (TMTO) attacks, but introduces possible side-channel attacks. Argon2i is optimized to resist side-channel attacks. It accesses the memory array in a password independent order. Argon2id is a hybrid version. It follows the Argon2i approach for the first pass over memory and the Argon2d approach for subsequent passes. The Internet draft recommends using Argon2id except when there are reasons to prefer one of the other two modes. All three modes allow specification by three parameters that control: execution time memory required degree of parallelism

Argon - Variable-length hash function - Netflix

If the requested digestSize is 64-bytes or lower, then we use Blake2b directly   if (digestSize <= 64) then      return Blake2b(digestSize ∥ message, digestSize) //concatenate 32-bit little endian digestSize with the message bytes

Concatenate the first 32-bytes of each block Vi   (except the possibly partial last block, which we take the whole thing)   Let Ai represent the lower 32-bytes of block Vi   return A1 ∥ A2 ∥ ... ∥ Ar ∥ Vr+1

Inputs:      message:         Bytes (0..232-1)     Message to be hashed      digestSize:      Integer (1..232)     Desired number of bytes to be returned   Output:      digest:          Bytes (digestSize)   The resulting generated bytes, digestSize bytes long

Argon - References - Netflix