RE: Values to use for a salt?

From: Tony Kava (securityfocus_at_pottcounty.com)
Date: 12/16/03

  • Next message: Dave Aronson: "Re: Values to use for a salt?"
    To: "'secprog@securityfocus.com'" <secprog@securityfocus.com>
    Date: Tue, 16 Dec 2003 11:18:29 -0600
    
    

    > Someone suggested recently of using the password as the salt. I have
    never seen this discussed before, and
    > would like to get opinions of it. What would be wrong with this,
    especially if it were altered in some way
    > before being used, such as using a simple replacement table to change
    letters to special characters? This way,
    > the salt would not have to be stored because it would be a derivative of
    the password. How would this differ
    > from the traditional approach of generating a random salt and storing with
    the hashed password?

    > Also, how much less secure would it be to use a user ID as the salt
    instead of a random salt that then has to be
    > stored? I've been thinking about these, but feel I am missing important
    ideas.

    The purpose of storing hashes rather than passwords is of course to prevent
    the discover of plain-text passwords if the password file is compromised.
    You are correct on why the salt is important as it can delay brute-force
    attacks assuming that not every user has the same salt.

    Using a salt based on the password would seem like a bad idea to me. If you
    store the salt with the hash then you have stored the password in the
    password file. If you use a cipher to replace characters then you have used
    a weak, reversible form of encryption that can more easily yield the
    password than a brute-force attack against the hash.

    Even if you were to use only a portion of the password (say two characters)
    you would still provide a clue to the cracker, and hence decrease the
    keyspace that they will need to search. This is why it is probably best to
    use a random salt value so that you can slow the brute-force attack, yet
    prevent an attacker from receiving any additional clue to help them find the
    plain-text.

    --
    Tony Kava
    Network Administrator
    Pottawattamie County, Iowa
    

  • Next message: Dave Aronson: "Re: Values to use for a salt?"

    Relevant Pages

    • Re: virtue of salted passwords
      ... >going to be easy if you have a salt. ... classic UNIX passwd mechanism, as you are referring to web pages. ... and the remaining 11 characters is the hash. ...
      (alt.computer.security)
    • Re: allowed (possible) symbols for salt, plain and cypher text of DES
      ... >for salt, plain text and cypher text of a Standard DES implementation, ... i just found some information for the salt. ... The possible plaintext characters are any ...
      (sci.crypt)
    • Re: virtue of salted passwords
      ... >search is to append the salt to every word. ... the login authentication takes the characters ... If the hash just created matches - you're in. ... The reason for the salt was that originally, the password file was ...
      (alt.computer.security)
    • Re: Simple VB.NET Web Application Encryption/Decryption of password
      ... 88 characters. ... The example posted above creates a randomly sized salt, ... you should look into doing an iterative hash. ... > of string field that I would need in the database - I had strings returned ...
      (microsoft.public.dotnet.security)
    • Re: Login application
      ... > Two characters for DES based passwords. ... No doubt that you can pass crypta pointer to the old encrypted password as ... the 'salt' value, and let cryptpick out the salt characters. ...
      (comp.os.linux.development.system)