Re: Re: [RFC][DISCUSSION] Argon2 Password Hash

From: Date: Fri, 05 Aug 2016 16:36:51 +0000
Subject: Re: Re: [RFC][DISCUSSION] Argon2 Password Hash
References: 1 2 3 4  Groups: php.internals 
Request: Send a blank email to internals+get-94864@lists.php.net to get a copy of this message
On Fri, Aug 5, 2016 at 10:08 AM, Ryan Pallas <derokorian@gmail.com> wrote: > > > I think this is the most important part to consider. If you make $options > required for this algo, then making this algo the PASSWORD_DEFAULT would > mean that its a backwards incompatible change, because now all calls to > password_hash($password, PASSWORD_DEFAULT) would need to be updated to use > an older constant or pass in $options which I think totally defeats the > purpose of the password_hash API. > > Please keep it so that defaults will work, but $options is available for > tuning as that's how the feature currently works. > > The rationale for providing defaults is to ensure the password_* >> functions remain easy to use. > > I understand. I was actually suggesting that we deliberately make it > harder to use! Assuming that at some point PASSWORD_ARGON2I (or any new algorithm) >> would become PASSWORD_DEFAULT, the end user's expectations would be that >> password_hash($password, PASSWORD_DEFAULT) just works, without needing to >> specify additional arguments. > > I agree entirely. I'm not against introducing default cost constants. I am > instead proposing we allow a period of time after introduction of Argon2 > into PHP before deciding what the default costs should be and define the > constants at the same time as setting PASSWORD_DEFAULT = PASSWORD_ARGON2I, > or possibly before. > Please reread my previous message for the reasons behind this (odd, I > admit) idea. Hi Tom, I understand what you're saying. Ryan said it a bit more clearly than I did, making the options required causes backwards-incompatible changes to the password_hash API. That's my real reservation behind not providing defaults. A separate RFC would be needed for 7.4 to make PASSWORD_ARGON2I = PASSWORD_DEFAULT). If the supplied constants need to be changed for that, I think that would be the time to do so. I think for now something needs to be provided to ensure the password_hash API doesn't change. On Fri, Aug 5, 2016 at 11:29 AM, Niklas Keller <me@kelunik.com> wrote: > > Hi Charles, > > I'd prefer memory_cost and > time_cost over m_cost and > t_cost. Do we > have any reason to use the shorter but less readable names here? > > Regards, Niklas > 'm_cost' and 't_cost' is what is used in the reference library. Someone looking at the reference material would see those names. Thanks, *Charles R. Portwood II*

« previous php.internals (#94864) next »