From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Famulari Subject: Re: [PATCH] Add argon2. Date: Sun, 5 Jun 2016 17:39:08 -0400 Message-ID: <20160605213908.GB2928@jasmine> References: <87lh2jpdo7.fsf@openmailbox.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37678) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b9flU-00029Y-0M for guix-devel@gnu.org; Sun, 05 Jun 2016 17:39:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b9flO-0007RK-UU for guix-devel@gnu.org; Sun, 05 Jun 2016 17:39:22 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:36201) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b9flN-0007QF-Hd for guix-devel@gnu.org; Sun, 05 Jun 2016 17:39:18 -0400 Content-Disposition: inline In-Reply-To: <87lh2jpdo7.fsf@openmailbox.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Lukas Gradl Cc: guix-devel@gnu.org On Sun, Jun 05, 2016 at 03:46:00PM -0500, Lukas Gradl wrote: > > Hello Guix, > > Attached is a patch to add the password hashing library Argon2. It is a > dependency for opendht. Thanks :) > The source tree contains the directory "blake2". At first I thought > this is a bundled version of blake2, but it seems that this is a > seperate implementation. The sources bundled with Argon2 are > significantly different from the ones at > https://github.com/BLAKE2/BLAKE2. > My conclusion is that this is a Blake2 implementation made by and for > Argon2. Thus I did not unbundle it. Do you agree with this? My understanding from reading about blake2 and argon2 (not reading the code) is that blake2 is a cryptographic hash function [0], and that argon2 is a key derivation function [1] that uses blake2 for hashing. When I see bundled crypto libraries, my questions are, "What's the difference between the bundled library and the upstream code?" and "Will they update the bundled library in a timely fashion?" In this case, the argon2 README.md credits the blake2 code to Samuel Neves, who is one of the designers of blake2. So, I will look into this a little more closely to see if he reimplemented it for argon2 or if they copied it from somewhere else. The patch looks good to me aside from this question. [0] https://blake2.net/ https://en.wikipedia.org/wiki/BLAKE_%28hash_function%29 [1] https://en.wikipedia.org/wiki/Argon2 https://www.argon2.com/ https://password-hashing.net/submissions/specs/Argon-v3.pdf