Re: sha1 function

From: Richard Huxton <dev(at)archonet(dot)com>
To: Martin Marques <martin(at)bugs(dot)unl(dot)edu(dot)ar>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: sha1 function
Date: 2007-10-01 14:35:29
Message-ID: 470105B1.2020207@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Martin Marques wrote:
> We are at the moment planning on passing some passwords that are plain
> texted in our DB to some encrypted form as now they will be used for
> processes that require better security measures.
>
> We started looking at md5() but found that it's easy to crack and one of
> the systems uses CHAP authentication, and so SHA1 hashing.
>
> So, two questions arise.
>
> 1) Is MD5's weakness true?

Well (and I'm not a security expert so please check details), there are
some issues with MD5:
1. There were some recent breakthroughs in generating multiple documents
that match a given MD5 hash. This is less of a threat to passwords and
more to document forgery.
2. It's practical nowadays to pre-calculate "rainbow tables" to cover
all possible combinations of a short password (hence the use of a "salt"
to extend the password length).
3. You can't get from the hash back to a password easily. So - it's no
use for storing passwords for other systems, just for checking supplied
passwords.

What you need to ask is what you're protecting against. If someone has
access to the database, have they also gained access to the process that
uses these passwords, so allowing them to watch the unencrypted password
be tested?

> 2) Is there any sha1() functions in PostgreSQL?

See contrib/pgcrypto in the source distribution or the equivalent in
whatever package you use.

--
Richard Huxton
Archonet Ltd

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Alban Hertroys 2007-10-01 14:37:18 Re: Normalized Tables & SELECT [was: Find "smallest common year"]
Previous Message Stefan Schwarzer 2007-10-01 14:28:38 Re: Normalized Tables & SELECT [was: Find "smallest common year"]