Bugtraq mailing list archives

Re: passwd hashing algorithm


From: jfh () rpp386 cactus org (John F. Haugh II)
Date: Tue, 18 Apr 95 21:52:19 CDT


1. 25 iterations of DES with the first 8 bytes of the
   password as key, followed by 25 iterations of DES
   with the second 8 bytes of password as key.

2. repeat 25 times:
     an iteration of DES with the first 8 bytes of the
     password as key, followed by an iteration of DES
     with the second 8 bytes of password as key.

(1) can be broken on a workstation with ~ 2^32 steps (and
very little in the way of memory);

I've never seen anything resembling a convincing argument for this point.
SecureWare uses a mechanism similar to this and it is part of one of
their security offerings.  I've used a slightly different, but similar,
approach for several years and except for people noting that the second
half of the encrypted string is very vulnerable, no one has ever shown
it to be significantly less strong than a single route of 8 byte crypt()
ala current practice.

What I will concede is that 1) leaves you with a password function not
much more than twice as strong as crypt() was to begin with.  This is
because, as you point out, DES is a block cipher.  I do believe that
there are better approaches to 1) that still use DES, and I'm very keen
on sticking with crypt() for compatibility reasons.
-- 
John F. Haugh II  [ NRA-ILA ] [ Kill Barney ] !'s: ...!cs.utexas.edu!rpp386!jfh
Ma Bell: (512) 251-2151 [GOP][DoF #17][PADI][ENTJ]   @'s: jfh () rpp386 cactus org



Current thread: